Modules

Macros

Panic with an error-specific message if err is not ESP_OK.

Structs

@brief Opaque directory structure

A wrapped esp_err_t to check if an error occurred.

Type by which queues are referenced. For example, a call to xQueueCreate() returns an QueueHandle_t variable that can then be used as a parameter to xQueueSend(), xQueueReceive(), etc.

@brief ADC arbiter work mode and priority setting.

@brief ADC digital controller settings

@brief ADC digital controller (DMA mode) filter configuration.

@brief ADC DMA driver configuration

@brief ADC digital controller (DMA mode) monitor configuration.

@brief ADC digital controller (DMA mode) output data format. Used to analyze the acquired ADC (DMA) data.

@brief ADC digital controller pattern configuration

@brief Directory entry structure

@brief Structure storing characteristics of an ADC

\brief AES context structure

\brief The AES XTS context-type definition.

@brief Description about application.

@brief The structure represents information about the chip

@brief Console command description

@brief Parameters for console initialization

@brief Parameters for console device: UART

@brief Parameters for console device: USB CDC

@brief Parameters for console REPL (Read Eval Print Loop)

@brief Console REPL base structure

@brief Type definition for an eFuse field

@brief Configuration of Ethernet driver

@brief Ethernet MAC

@brief Ethernet mediator

@brief Ethernet PHY

Configuration for creating event loops

@brief OS-level integration hooks for accessing flash chips inside a running OS

@brief Structure for describing a region of flash

@brief Structure to describe a SPI flash chip connected to the system.

@brief HTTP configuration

@brief HTTP Client events data

@brief Main header of binary image

@brief Header of binary image segment

@brief Mesh PS duties

MQTT client configuration structure

@brief MQTT error code structure to be passed as a contextual information into ERROR event

MQTT event configuration structure

@brief Generic esp_netif configuration

@brief DNS server info

@brief Specific IO driver configuration

@brief IPV6 IP address information

Event structure for IP_EVENT_STA_GOT_IP, IP_EVENT_ETH_GOT_IP events

@brief Type of esp_netif_object server

@brief station list info element

@brief station list structure

@brief ESPNOW peer information parameters.

@brief Number of ESPNOW peers which exist currently.

@brief partition information structure

@brief Type of “ping” callback functions

@brief Type of “ping” configuration

@brief Power management config for ESP32C3

pthread configuration structure that influences pthread creation

@brief Timer configuration passed to esp_timer_create

@brief ESP-TLS Connection Handle

@brief ESP-TLS configuration parameters

@brief Error structure containing relevant errors in case tls error occurred

@brief Eventfd vfs initialization settings

@brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount functions

@brief VFS semaphore type for select()

@brief Configuration structure for esp_vfs_spiffs_register

@brief VFS definition structure

@brief Websocket client setup configuration

@brief Websocket event data

Configuration for the ESSL SDIO device

@brief Configuration of Ethernet MAC object

@brief Ethernet PHY configuration

Structure of pointers to disk IO driver functions.

@brief Configuration parameters of GPIO pad for gpio_config function

@brief HTTP Server Configuration Structure

@brief HTTP Request Data Structure

@brief Structure for URI handler

@brief I2C initialization parameters

@brief I2S driver configuration parameters

@brief Event structure used in I2S event queue

@brief I2S PCM configuration

@brief I2S PDM up-sample rate configuration @note TX PDM can only be set to the following two upsampling rate configurations: 1: fp = 960, fs = sample_rate / 100, in this case, Fpdm = 12848000 2: fp = 960, fs = 480, in this case, Fpdm = 128Fpcm = 128sample_rate If the pdm receiver do not care the pdm serial clock, it’s recommended set Fpdm = 12848000. Otherwise, the second configuration should be applied.

@brief I2S pin number for i2s_set_pin

This is the aligned version of ip4_addr_t, used as local variable, on the stack, etc.

This is the aligned version of ip6_addr_t, used as local variable, on the stack, etc.

@ingroup ipaddr A union struct for both IP version’s addresses. ATTENTION: watch out for its size when adding IPv6 address scope!

Event structure for ADD_IP6 event

Event structure for IP_EVENT_AP_STAIPASSIGNED event

Event structure for IP_EVENT_GOT_IP6 event

@brief LEDC callback parameter

@brief Group of supported LEDC callbacks @note The callbacks are all running under ISR environment

@brief Configuration parameters of LEDC channel for ledc_channel_config function

@brief Configuration parameters of LEDC Timer timer for ledc_timer_config function

Container for ASN1 bit strings.

Type-length-value structure that allows for ASN1 using DER.

Container for a sequence or list of ‘named’ ASN.1 data items

Container for a sequence of ASN.1 items

Generic cipher context.

Cipher information. Allows calling cipher functions in a generic way.

\brief The CTR_DRBG context structure.

\brief The DHM context structure.

\warning Performing multiple operations concurrently on the same ECDSA context is not supported; objects of this type should not be shared between multiple threads. \brief The ECDH context structure.

Curve information, for use by other modules.

\brief The ECP group structure.

\brief The ECP key-pair structure.

\brief The ECP point structure, in Jacobian coordinates.

\brief Entropy context structure

\brief Entropy source state

The generic message-digest context.

\brief MPI structure

Wrapper type for sockets.

\brief Public key container

\brief Item to send to the debug module

\brief Options for RSASSA-PSS signature verification. See \c mbedtls_rsa_rsassa_pss_verify_ext()

\brief The platform context structure.

\brief The RSA context structure.

\brief The SHA-512 context structure.

\brief This structure is used for storing ciphersuite information

SSL/TLS configuration to be shared between mbedtls_ssl_context structures.

Certificate revocation list structure. Every CRL may have multiple entries.

Certificate revocation list entry. Contains the CA-specific serial numbers and revocation dates.

Container for an X.509 certificate. The certificate may be chained.

Security profile for certificate verification.

Verification chain as built by \c mbedtls_crt_verify_chain()

Item in a verification chain: cert and flags for it

From RFC 5280 section 4.2.1.6: OtherName ::= SEQUENCE { type-id OBJECT IDENTIFIER, value [0] EXPLICIT ANY DEFINED BY type-id }

From RFC 4108 section 5: HardwareModuleName ::= SEQUENCE { hwType OBJECT IDENTIFIER, hwSerialNum OCTET STRING }

A structure for holding the parsed Subject Alternative Name, according to type

Container for date and time (precision in seconds).

Container for writing a certificate (CRT)

@brief mDNS query linked list IP item

@brief mDNS query result structure

@brief mDNS basic text item structure Used in mdns_service_add()

Memory pool descriptor

@brief Mesh softAP configuration

@brief Mesh networking IE

Structures

@brief Mesh initialization configuration

@brief The crypto callback function structure used in mesh vendor IE encryption. The structure can be set as software crypto or the crypto optimized by ESP32 hardware.

@brief Mesh data for esp_mesh_send() and esp_mesh_recv()

@brief Channel switch information

@brief Parent connected information

@brief find a mesh network that this device can join

@brief Layer change information

@brief Network state information

@brief No parent found information

@brief PS duty information

@brief Other powerful root address

@brief Root fixed

@brief Root switch request information

@brief Routing table change

@brief Scan done event information

@brief vote started information

@brief Mesh option

@brief Router configuration

@brief The number of packets available in the queue waiting to be received by applications

@brief The number of packets pending in the queue waiting to be sent by the mesh stack

@brief Vote

@brief Structure to access heap metadata via multi_heap_get_info

@brief This structure maps handler required by protocomm layer to UUIDs which are used to uniquely identify BLE characteristics from a smartphone or a similar client device.

Generic data structure used for all lwIP network interfaces. The following fields should be filled in by the initialization function for the device driver: hwaddr_len, hwaddr[], mtu, flags

Args to LWIP_NSC_IPV4_ADDRESS_CHANGED|LWIP_NSC_IPV4_GATEWAY_CHANGED|LWIP_NSC_IPV4_NETMASK_CHANGED|LWIP_NSC_IPV4_SETTINGS_CHANGED callback

Args to LWIP_NSC_IPV6_ADDR_STATE_CHANGED callback

Args to LWIP_NSC_IPV6_SET callback

Args to LWIP_NSC_LINK_CHANGED callback

Args to LWIP_NSC_STATUS_CHANGED callback

@brief information about entry obtained from nvs_entry_info function

@brief Key for encryption and decryption

@note Info about storage space NVS.

Main packet buffer struct

A custom pbuf: like a pbuf, but following a function pointer to free it.

Helper struct for const-correctness only. The only meaning of this one is to provide a const payload pointer for PBUF_ROM type.

@brief Spinlock object Owner:

@brief Config parameters for protocomm BLE service

@brief Config parameters for protocomm HTTP server

@brief Config parameters for protocomm HTTP server

@brief Protocomm security object structure.

@brief Proof Of Possession for authenticating a secure session

@brief ESP-TLS preshared key and hint structure

@brief Data struct of RMT channel status

@brief Data struct of RMT configure parameters

@brief Data struct of RMT RX configure parameters

@brief Data struct of RMT TX configure parameters

@brief Structure encapsulating a RMT TX end callback

Initialization parameters for rtc_clk_init

RTC power and clock control initialization settings

@brief CPU clock configuration structure

@brief sleep configuration for rtc_sleep_init function

@brief Power down flags for rtc_sleep_pd function

Structure describing vddsdio configuration

SD/MMC card information structure

Decoded values from SD card Card IDentification register

SD/MMC command information

Decoded values from SD card Card Specific Data register

Decoded values of Extended Card Specific Data

SD/MMC Host description

Decoded values from SD Configuration Register

SD SWITCH_FUNC response buffer

Extra configuration for SD SPI device.

Extra configuration for SPI host.

@brief Sigma-delta configure struct

Argument structure for SC_EVENT_GOT_SSID_PSWD event

Configure structure for esp_smartconfig_start

@brief This is a configuration structure for a SPI bus.

@brief This is a configuration for a SPI slave device that is connected to one of the SPI buses.

Structure for flash encryption operations.

Structure holding SPI flash access critical sections management functions.

Host driver configuration and context structure.

SPI Flash Host driver instance

Configuration structure for the flash chip suspend feature.

Definition of a common transaction. Also holds the return value.

@brief Line mode of SPI transaction phases: CMD, ADDR, DOUT/DIN.

@brief This is a configuration for a SPI host acting as a slave device.

This structure describes one SPI transaction

This struct is for SPI transactions which may change their address and command length. Please do set the flags in base to SPI_TRANS_VARIABLE_CMD_ADR to use the bit length here.

This structure describes one SPI transaction. The descriptor should not be modified until the transaction finishes.

Event, as a tagged enum

@brief legacy ip_info type

@brief Data structure with timer’s configuration settings

@brief Keep alive parameters structure

Touch sensor filter configuration

Touch sensor denoise configuration

Touch sensor channel sleep configuration

Touch sensor waterproof configuration

@brief Structure for acceptance filter configuration of the TWAI driver (see documentation)

@brief Structure for general configuration of the TWAI driver

@brief Structure to store a TWAI message

@brief Structure to store status information of TWAI driver

@brief Structure for bit timing configuration of the TWAI driver

@brief UART AT cmd char configuration parameters Note that this function may different on different chip. Please refer to the TRM at confirguration.

@brief UART configuration parameters for uart_param_config function

@brief Event structure used in UART event queue

@brief UART interrupt configuration parameters for uart_intr_config function

@brief UART software flow control configuration parameters

@brief Vendor Information Element header

@brief Action Frame Tx Request

@brief Range of active scan times per channel

@brief WiFi antenna configuration

@brief WiFi GPIOs configuration for antenna selection

@brief WiFi GPIO configuration for antenna selection

@brief Soft-AP configuration settings for the ESP32

@brief Description of a WiFi AP

@brief Structure describing WiFi country-based regional restrictions.

@brief Channel state information(CSI) configuration type

@brief CSI data type

Argument structure for WIFI_EVENT_ACTION_TX_STATUS event

Argument structure for WIFI_EVENT_AP_PROBEREQRECVED event

Argument structure for WIFI_EVENT_AP_STACONNECTED event

Argument structure for WIFI_EVENT_AP_STADISCONNECTED event

Argument structure for WIFI_EVENT_STA_BSS_RSSI_LOW event

Argument structure for WIFI_EVENT_FTM_REPORT event

Argument structure for WIFI_EVENT_ROC_DONE event

Argument structure for WIFI_EVENT_STA_AUTHMODE_CHANGE event

Argument structure for WIFI_EVENT_STA_CONNECTED event

Argument structure for WIFI_EVENT_STA_DISCONNECTED event

Argument structure for WIFI_EVENT_SCAN_DONE event

Argument structure for WIFI_EVENT_STA_WPS_ER_PIN event

Argument structure for WIFI_EVENT_STA_WPS_ER_SUCCESS event

@brief FTM Initiator configuration

Argument structure for

@brief Configuration for STA’s HT2040 coexist management

@brief WiFi stack configuration parameters passed to esp_wifi_init call.

@brief Configuration for WiFi ioctl

@brief Received packet radio metadata header, this is the common header at the beginning of all promiscuous mode RX callback buffers

Configuration structure for Protected Management Frame

@brief Mask for filtering different packet types in promiscuous mode.

@brief Payload passed to ‘buf’ parameter of promiscuous mode RX callback.

@brief WiFi status data to be sent in response to get_status request from master

@brief Internal handlers for receiving and responding to protocomm requests from master

@brief WiFi config data received by slave during set_config request from master

@brief Event handler that is used by the manager while provisioning service is active

@brief Structure for specifying the manager configuration

@brief Structure for specifying the provisioning scheme to be followed by the manager

@brief WiFi STA connected status information

@brief Parameters for an SSID scan.

@brief Structure describing parameters for a WiFi fast scan

@brief Aggregate of active & passive scan time per channel

@brief STA configuration settings for the ESP32

@brief Description of STA associated with AP

@brief List of stations associated with the ESP32 Soft-AP

@brief The crypto callback function structure used when do station security connect. The structure can be set as software crypto or the crypto optimized by ESP32 hardware.

Defines the memory ranges allocated to the task when an MPU is used.

@cond !DOC_EXCLUDE_HEADER_SECTION */ Used internally only.

Constants

< Chip did not respond to the command, or timed out.

< The chip doesn’t have enough space for the current partition table

< return failed in ets

< return successful in ets

Key length, in bits (including parity), for DES keys.

Key length in bits, including parity, for DES in two-key EDE.

Key length in bits, including parity, for DES in three-key EDE.

Undefined key length.

<5, Deep Sleep reset digital core

<20, efuse reset digital core

<19, glitch reset digital core and rtc module

<10, Instrusion tested to reset CPU

<1, Vbat power on reset

<23, power glitch reset digital core and rtc module

<15, Reset when the vdd voltage is not stable

<13, RTC Watch dog Reset CPU

<16, RTC Watch dog reset digital core and rtc module

<9, RTC Watch dog Reset digital core

<12, Software reset CPU

<3, Software reset digital core

<18, super watchdog reset digital core and rtc module

<11, Time Group0 reset CPU

<7, Timer Group0 Watch dog reset digital core

<17, Time Group1 reset CPU

<8, Timer Group1 Watch dog reset digital core

<22, usb jtag reset digital core

<21, usb uart reset digital core

Allow-split buffers will split an item into two parts if necessary in order to store it. Each item requires an 8 byte overhead for a header, splitting incurs an extra header. Each item will always internally occupy a 32-bit aligned size of space.

Byte buffers store data as a sequence of bytes and do not maintain separate items, therefore byte buffers have no overhead. All data is stored as a sequence of byte and any number of bytes can be sent or retrieved each time.

Byte buffers store data as a sequence of bytes and do not maintain separate items, therefore byte buffers have no overhead. All data is stored as a sequence of byte and any number of bytes can be sent or retrieved each time.

No-split buffers will only store an item in contiguous memory and will never split an item. Each item requires an 8 byte overhead for a header and will always internally occupy a 32-bit aligned size of space.

< ADC1 channel 0 is GPIO0

< ADC1 channel 1 is GPIO1

< ADC1 channel 2 is GPIO2

< ADC1 channel 3 is GPIO3

< ADC1 channel 4 is GPIO4

< ADC2 channel 0 is GPIO5

<Fixed priority switch controller mode.

<Loop priority switch controller mode. Each controller has the same priority, and the arbiter will switch to the next controller after the measurement is completed.

<Force shield arbiter, Select the highest priority controller to work.

<No input attenumation, ADC can measure up to approx. 800 mV.

<The input voltage of ADC will be attenuated extending the range of measurement by about 2.5 dB (1.33 x)

<The input voltage of ADC will be attenuated extending the range of measurement by about 6 dB (2 x)

<The input voltage of ADC will be attenuated extending the range of measurement by about 11 dB (3.55 x)

< ADC capture width is 12Bit.

< Use both ADC1 and ADC2 for conversion by turn. e.g. ADC1 -> ADC2 -> ADC1 -> ADC2 …..

< Use Both ADC1 and ADC2 for conversion simultaneously

< Only use ADC1 for conversion

< Only use ADC2 for conversion

<The filter index 0. For ESP32-S2, It can only be used to filter all enabled channels of ADC1 unit at the same time.

<The filter index 1. For ESP32-S2, It can only be used to filter all enabled channels of ADC2 unit at the same time.

<The filter mode is first-order IIR filter. The coefficient is 2.

<The filter mode is first-order IIR filter. The coefficient is 4.

<The filter mode is first-order IIR filter. The coefficient is 8.

<The filter mode is first-order IIR filter. The coefficient is 16.

<The filter mode is first-order IIR filter. The coefficient is 64.

<The monitor index 0. For ESP32-S2, It can only be used to monitor all enabled channels of ADC1 unit at the same time.

<The monitor index 1. For ESP32-S2, It can only be used to monitor all enabled channels of ADC2 unit at the same time.

<If ADC_OUT < threshold, Generates monitor interrupt. */

<ADC to DMA data format, [15]-adc unit, [14:11]-channel, [10: 0]-11 bits ADC data (adc_digi_output_data_t). Note: For multi or alter convert mode.

<ADC to DMA data format, [15:12]-channel, [11: 0]-12 bits ADC data (adc_digi_output_data_t). Note: For single convert mode.

< ADC to DMA data format, [15]-unit, [14:11]-channel [10:0]-11 bits ADC data

< ADC to DMA data format, , [15:12]-channel [11:0]-12 bits ADC data

< I2S data from GPIO matrix signal

< SAR ADC 1 and 2 alternative mode.

< SAR ADC 1 and 2.

@brief Output RMII Clock from internal APLL Clock available at GPIO0

@brief MAC will get RMII clock from outside at this GPIO.

@brief Inverted Output RMII Clock from internal APLL Clock available at GPIO17

@brief Output RMII Clock from internal APLL Clock available at GPIO16

@brief Default values configured using Kconfig are going to be used when “Default” selected.

@brief Input RMII Clock from external. EMAC Clock GPIO number needs to be configured when this option is selected.

@brief Output RMII Clock from internal APLL Clock. EMAC Clock GPIO number needs to be configured when this option is selected.

Connection aborted.

Already connecting.

Illegal argument.

Buffer error.

Connection closed.

Not connected.

Low-level netif error

Operation in progress

Conn already established.

Out of memory error.

No error, everything OK.

Connection reset.

Routing problem.

Address in use.

Illegal value.

Operation would block.

< Characterization based on default reference voltage

< Characterization based on Two Point values stored in eFuse

< Characterization based on Two Point values and fitting curve coefficients stored in eFuse

< Characterization based on reference voltage stored in eFuse

< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size)

< If the GPIO input is not low

< Number of eFuse BLOCK0. REPEAT_DATA

< Number of eFuse BLOCK1. MAC_SPI_8M_SYS

< Number of eFuse BLOCK2. SYS_DATA_PART1

< Number of eFuse BLOCK3. USER_DATA

< Number of eFuse BLOCK4. KEY0

< Number of eFuse BLOCK5. KEY1

< Number of eFuse BLOCK6. KEY2

< Number of eFuse BLOCK7. KEY3

< Number of eFuse BLOCK8. KEY4

< Number of eFuse BLOCK9. KEY5

< Number of eFuse BLOCK10. SYS_DATA_PART2

< Number of eFuse BLOCK4. KEY0

< Number of eFuse BLOCK5. KEY1

< Number of eFuse BLOCK6. KEY2

< Number of eFuse BLOCK7. KEY3

< Number of eFuse BLOCK8. KEY4

< Number of eFuse BLOCK9. KEY5

< Number of eFuse BLOCK2. SYS_DATA_PART1

< Number of eFuse BLOCK10. SYS_DATA_PART2

< Number of eFuse BLOCK3. USER_DATA

< Digital Signature peripheral key (uses HMAC Downstream mode)

< JTAG soft enable key (uses HMAC Downstream mode)

< SECURE_BOOT_DIGEST0 (Secure Boot key digest)

< SECURE_BOOT_DIGEST1 (Secure Boot key digest)

< SECURE_BOOT_DIGEST2 (Secure Boot key digest)

< User purposes (software-only use)

< XTS_AES_128_KEY (flash/PSRAM encryption)

< ROM logging is enabled when specific GPIO level is high during start up

< ROM logging is enabled when specific GPIO level is low during start up

< Link status changed

< Pause ability updated

< Both address & data transferred using dual I/O

< Data read using dual I/O

< Data read using single I/O, no limit on speed

< Only support on OPI flash, flash read and write under DTR mode

< Only support on OPI flash, flash read and write under STR mode

< Both address & data transferred using quad I/O

< Data read using quad I/O

< The fastest io mode supported by the host is ESP_FLASH_READ_MODE_MAX-1.

< Data read using single I/O, some limits on speed

< The flash runs under 5MHz

< The flash runs under 10MHz

< The flash runs under 20MHz

< The flash runs under 26MHz

< The flash runs under 40MHz

< The flash runs under 80MHz

< The flash runs under 120MHz, 120MHZ can only be used by main flash after timing tuning in system. Do not use this directely in any API.

< The maximum frequency supported by the host is ESP_FLASH_SPEED_MAX-1.

< The connection has been disconnected

< This event occurs when there are any errors during execution

< After sending all the headers to the server

< This header has been kept for backward compatability and will be deprecated in future versions esp-idf

< Once the HTTP has been connected to the server, no data exchange has been performed

< Occurs when receiving data from the server, possibly multiple portions of the packet

< Occurs when finish a HTTP session

< Occurs when receiving each header sent from the server

< ESP32 ethernet interface

< ESP32 soft-AP interface

< ESP32 station interface

< Extra information which is not necessary for normal use (values, pointers, sizes, etc).

< Critical errors, software module can not recover on its own

< Information messages which describe normal flow of events

< Bigger chunks of debugging information, or frequent messages which can potentially flood the output.

< Error conditions from which recovery measures have been taken

< MQTT connection refused reason: Wrong user

< MQTT connection refused reason: ID rejected

< MQTT connection refused reason: Wrong username or password

< MQTT connection refused reason: Wrong protocol

< MQTT connection refused reason: Server unavailable

< The event occurs before connecting

< connected event, additional context: session_present flag

< data event, additional context:

< Notification on delete of one message from the internal outbox, if the message couldn’t have been sent and acknowledged before expiring defined in OUTBOX_EXPIRED_TIMEOUT_MS. (events are not posted upon deletion of successfully acknowledged messages)

< on error event, additional context: connection return code, error handle from esp_tls (if supported)

< published event, additional context: msg_id

< subscribed event, additional context: msg_id

< MQTT over SSL, using scheme: mqtts

< MQTT over TCP, using scheme: mqtt

< MQTT over Websocket, using scheme:: ws

< MQTT over Websocket Secure, using scheme: wss

< Vendor Class Identifier of a DHCP client

< Vendor Specific Information of a DHCP server

< DHCP client/server is in initial state (not yet started)

< DHCP client/server has been started

< DHCP client/server has been stopped

< DNS backup server address (Wi-Fi STA and Ethernet only)

< DNS fallback server address (Wi-Fi STA and Ethernet only)

< DNS main server address

< Send ESPNOW data successfully

< App could not confirm the workable or non-workable. In bootloader IMG_PENDING_VERIFY state will be changed to IMG_ABORTED. This app will not selected to boot at all.

< App was confirmed as non-workable. This app will not selected to boot at all.

< Monitor the first boot. In bootloader this state is changed to ESP_OTA_IMG_PENDING_VERIFY.

< First boot for this app was. If while the second boot this state is then it will be changed to ABORTED.

< Undefined. App can boot and work without limits.

< App was confirmed as workable. App can boot and work without limits.

!< Used to search for partitions with any subtype

!< Undefined (or unspecified) data partition

!< Used to search for partitions with any type

!< Application partition type

< Elapsed time of the whole ping session

< IP address of replied target

< Number of reply packets received

< Number of request packets sent out

< Sequence number of a ping procedure

< Size of received packet

< Elapsed time between request and reply packet

< Time to live of a ping procedure

Require APB frequency to be at the maximum value supported by the chip. Argument is unused and should be set to 0.

Require CPU frequency to be at the maximum value set via esp_pm_configure. Argument is unused and should be set to 0.

Prevent the system from going into light sleep. Argument is unused and should be set to 0.

!< Brownout reset (software or hardware)

!< Reset after exiting deep sleep mode

!< Reset by external pin (not applicable for ESP32)

!< Reset (software or hardware) due to interrupt watchdog

!< Software reset due to exception/panic

!< Reset due to power-on event

!< Software reset via esp_restart

!< Reset due to task watchdog

!< Reset reason can not be determined

!< Reset due to other watchdogs

!< Wake the chip when all selected GPIOs go low

!< Wake the chip when any of the selected GPIOs go high

!< RTC IO, sensors and ULP co-processor

!< Keep power domain enabled in sleep mode, if it is needed by one of the wakeup options. Otherwise power it down.

!< Power down the power domain in sleep mode

!< Keep power domain enabled during sleep mode

!< Not a wakeup cause, used to disable all wakeup sources with esp_sleep_disable_wakeup_source

!< Wakeup caused by BT (light sleep only)

!< Wakeup caused by COCPU int

!< Wakeup caused by external signal using RTC_IO

!< Wakeup caused by external signal using RTC_CNTL

!< Wakeup caused by GPIO (light sleep only)

!< Wakeup caused by UART (light sleep only)

!< Wakeup caused by ULP program

!< In case of deep sleep, reset was not caused by exit from deep sleep

!< Wakeup caused by WIFI (light sleep only)

!< Count of the methods for dispatching timer callback

!< Callback is called from timer task

< ESP-IDF error type – esp_err_t

< Last err type – invalid entry

< Error code from mbedTLS library

< Certificate flags defined in mbedTLS

< Error code from wolfSSL library

< Certificate flags defined in wolfSSL

< The connection has been closed cleanly

< Once the Websocket has been connected to the server, no data exchange has been performed

< When receiving data from the server, possibly multiple portions of the packet

< The connection has been disconnected

< This event occurs when there are any errors during execution

< Ethernet checksum calculate by hardware

< Ethernet checksum calculate by software

< Media Independent Interface

< Reduced Media Independent Interface

< Ethernet is in full duplex

< Ethernet is in half duplex

< Ethernet got a valid link

< Ethernet lost a valid link

< Ethernet driver start

< Ethernet driver stop

< Ethernet link is down

< Ethernet link is up

< Ethernet speed is 10Mbps

< Ethernet speed is 100Mbps

< Max speed mode (for checking purpose)

< Pad drive capability: weak

< Pad drive capability: stronger

< Pad drive capability: medium

< Pad drive capability: strongest

< Pad drive capability: medium

< GPIO interrupt type : both rising and falling edge

< Disable GPIO interrupt

< GPIO interrupt type : input high level trigger

< GPIO interrupt type : input low level trigger

< GPIO interrupt type : falling edge

< GPIO interrupt type : rising edge

< GPIO mode : disable input and output

< GPIO mode : input only

< GPIO mode : output and input mode

< GPIO mode : output and input with open-drain mode

< GPIO mode : output only mode

< GPIO mode : output only with open-drain mode

< GPIO0, input and output

< GPIO1, input and output

< GPIO2, input and output

< GPIO3, input and output

< GPIO4, input and output

< GPIO5, input and output

< GPIO6, input and output

< GPIO7, input and output

< GPIO8, input and output

< GPIO9, input and output

< GPIO10, input and output

< GPIO11, input and output

< GPIO12, input and output

< GPIO13, input and output

< GPIO14, input and output

< GPIO15, input and output

< GPIO16, input and output

< GPIO17, input and output

< GPIO18, input and output

< GPIO19, input and output

< GPIO20, input and output

< GPIO21, input and output

< Use to signal not connected to S/W

< Pad pull up + pull down

< Disable GPIO pull-down resistor

< Enable GPIO pull-down resistor

< Disable GPIO pull-up resistor

< Enable GPIO pull-up resistor

< I2C ack for each byte read

< I2C nack for the last byte

< I2C nack for each byte read

< I2C 7bit address for slave mode

< I2C 10bit address for slave mode

< I2C master mode

< I2C slave mode

< I2C read data

< I2C write data

< I2C source clock not selected

< I2C source clock from 8M RTC, 8M

< I2C source clock from XTAL, 40M

< channel bit-width equals to data bit-width

< Load left channel data in both two channels

< Load right channel data in both two channels

< More than two channels are used

< Only load data in left channel (mono mode)

< Only load data in right channel (mono mode)

< Separated left and right channel

< I2S channel (mono), one channel activated. In this mode, you only need to send one channel data but the fifo will copy same data for the other unactivated channels automatically, then both channels will transmit same data.

< I2S channel (stereo), two (or more) channels activated. In this mode, these channels will transmit different data.

< I2S channel 0 activated

< I2S channel 1 activated

< I2S channel 2 activated

< I2S channel 3 activated

< I2S channel 4 activated

< I2S channel 5 activated

< I2S channel 6 activated

< I2S channel 7 activated

< I2S channel 8 activated

< I2S channel 9 activated

< I2S channel 10 activated

< I2S channel 11 activated

< I2S channel 12 activated

< I2S channel 13 activated

< I2S channel 14 activated

< I2S channel 15 activated

< Clock from PLL_D2_CLK(160M)

< I2S communication format I2S, correspond to I2S_COMM_FORMAT_STAND_I2S

< I2S format LSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_LSB) correspond to I2S_COMM_FORMAT_STAND_MSB

< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to I2S_COMM_FORMAT_STAND_I2S

< I2S communication format PCM, correspond to I2S_COMM_FORMAT_STAND_PCM_SHORT

< PCM Long, (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_LONG) correspond to I2S_COMM_FORMAT_STAND_PCM_LONG

< PCM Short, (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_SHORT) correspond to I2S_COMM_FORMAT_STAND_PCM_SHORT

< I2S communication I2S Philips standard, data launch at second BCK

< I2S communication MSB alignment standard, data launch at first BCK

< PCM Long standard. The period of synchronization signal (WS) is channel_bit*bck cycles.

< PCM Short standard, also known as DSP mode. The period of synchronization signal (WS) is 1 bck cycle.

< I2S event max index

< I2S DMA finish received 1 buffer

< I2S DMA receive queue overflow

< I2S DMA finish sent 1 buffer

< I2S DMA sent queue overflow

< Default value. mclk = sample_rate * 256

< Disable A/U law decopress or compress

< I2S TX PDM sigmadelta signal scaling: /2

< I2S TX PDM sigmadelta signal scaling: x1

< I2S TX PDM sigmadelta signal scaling: x2

< I2S TX PDM sigmadelta signal scaling: x4

< I2S port max

< soft-AP assign an IP to a connected station

< ethernet got IP from connected AP

< ethernet lost IP and the IP is reset to 0

< station or ap or ethernet interface v6IP addr is preferred

< PPP interface got IP

< PPP interface lost IP

< station got IP from connected AP

< station lost IP and the IP is reset to 0

< LEDC fade end event

< The driver will automatically select the source clock(REF_TICK or APB) based on the giving resolution and duty parameter when init the timer

< LEDC timer select APB clock as source clock

< LEDC timer select REF_TICK clock as source clock

< LEDC timer select RTC8M_CLK as source clock. Only for low speed channels and this parameter must be the same for all low speed channels

< LEDC timer select XTAL clock as source clock

< LEDC timer clock divided from APB clock (80Mhz)

< LEDC timer clock divided from reference tick (1Mhz)

< LEDC duty decrease direction

< LEDC duty increase direction

< LEDC fade function will return immediately

< LEDC fade function will block until fading to the target duty

< Disable LEDC interrupt

< Enable LEDC interrupt

< LEDC low speed speed_mode

< LEDC low speed timer clock source is 80MHz APB clock

< LEDC low speed timer clock source is 8MHz RTC clock

< LEDC low speed timer clock source XTAL clock

< LEDC PWM duty resolution of 1 bits

< LEDC PWM duty resolution of 2 bits

< LEDC PWM duty resolution of 3 bits

< LEDC PWM duty resolution of 4 bits

< LEDC PWM duty resolution of 5 bits

< LEDC PWM duty resolution of 6 bits

< LEDC PWM duty resolution of 7 bits

< LEDC PWM duty resolution of 8 bits

< LEDC PWM duty resolution of 9 bits

< LEDC PWM duty resolution of 10 bits

< LEDC PWM duty resolution of 11 bits

< LEDC PWM duty resolution of 12 bits

< LEDC PWM duty resolution of 13 bits

< LEDC PWM duty resolution of 14 bits

IPv4+IPv6 (“dual-stack”)

< Placeholder to mark the end of cipher ID lists.

< The identity cipher, treated as a stream cipher.

< The ChaCha-Poly cipher mode.

< Never pad (full blocks only).

< Zero padding (not reversible).

< AES cipher with 128-bit CBC mode.

< AES cipher with 128-bit CCM mode.

< AES cipher with 128-bit CFB128 mode.

< AES cipher with 128-bit CTR mode.

< AES cipher with 128-bit ECB mode.

< AES cipher with 128-bit GCM mode.

< AES cipher with 128-bit NIST KW mode.

< AES cipher with 128-bit NIST KWP mode.

< AES 128-bit cipher in OFB mode.

< AES 128-bit cipher in XTS block mode.

< AES cipher with 192-bit CBC mode.

< AES cipher with 192-bit CCM mode.

< AES cipher with 192-bit CFB128 mode.

< AES cipher with 192-bit CTR mode.

< AES cipher with 192-bit ECB mode.

< AES cipher with 192-bit GCM mode.

< AES cipher with 192-bit NIST KW mode.

< AES cipher with 192-bit NIST KWP mode.

< AES 192-bit cipher in OFB mode.

< AES cipher with 256-bit CBC mode.

< AES cipher with 256-bit CCM mode.

< AES cipher with 256-bit CFB128 mode.

< AES cipher with 256-bit CTR mode.

< AES cipher with 256-bit ECB mode.

< AES cipher with 256-bit GCM mode.

< AES cipher with 256-bit NIST KW mode.

< AES cipher with 256-bit NIST KWP mode.

< AES 256-bit cipher in OFB mode.

< AES 256-bit cipher in XTS block mode.

< RC4 cipher with 128-bit mode.

< Aria cipher with 128-bit key and CBC mode.

< Aria cipher with 128-bit key and CCM mode.

< Aria cipher with 128-bit key and CFB-128 mode.

< Aria cipher with 128-bit key and CTR mode.

< Aria cipher with 128-bit key and ECB mode.

< Aria cipher with 128-bit key and GCM mode.

< Aria cipher with 192-bit key and CBC mode.

< Aria cipher with 192-bit key and CCM mode.

< Aria cipher with 192-bit key and CFB-128 mode.

< Aria cipher with 192-bit key and CTR mode.

< Aria cipher with 192-bit key and ECB mode.

< Aria cipher with 192-bit key and GCM mode.

< Aria cipher with 256-bit key and CBC mode.

< Aria cipher with 256-bit key and CCM mode.

< Aria cipher with 256-bit key and CFB-128 mode.

< Aria cipher with 256-bit key and CTR mode.

< Aria cipher with 256-bit key and ECB mode.

< Aria cipher with 256-bit key and GCM mode.

< Blowfish cipher with CBC mode.

< Blowfish cipher with CFB64 mode.

< Blowfish cipher with CTR mode.

< Blowfish cipher with ECB mode.

< Camellia cipher with 128-bit CBC mode.

< Camellia cipher with 128-bit CCM mode.

< Camellia cipher with 128-bit CFB128 mode.

< Camellia cipher with 128-bit CTR mode.

< Camellia cipher with 128-bit ECB mode.

< Camellia cipher with 128-bit GCM mode.

< Camellia cipher with 192-bit CBC mode.

< Camellia cipher with 192-bit CCM mode.

< Camellia cipher with 192-bit CFB128 mode.

< Camellia cipher with 192-bit CTR mode.

< Camellia cipher with 192-bit ECB mode.

< Camellia cipher with 192-bit GCM mode.

< Camellia cipher with 256-bit CBC mode.

< Camellia cipher with 256-bit CCM mode.

< Camellia cipher with 256-bit CFB128 mode.

< Camellia cipher with 256-bit CTR mode.

< Camellia cipher with 256-bit ECB mode.

< Camellia cipher with 256-bit GCM mode.

< DES cipher with EDE3 CBC mode.

< DES cipher with EDE3 ECB mode.

< DES cipher with EDE CBC mode.

< DES cipher with EDE ECB mode.

< Placeholder to mark the end of cipher-pair lists.

< The identity stream cipher.

< Domain parameters for 256-bit Brainpool curve.

< Domain parameters for 384-bit Brainpool curve.

< Domain parameters for 512-bit Brainpool curve.

< Domain parameters for Curve448.

< Domain parameters for Curve25519.

< Domain parameters for 192-bit “Koblitz” curve.

< Domain parameters for the 192-bit curve defined by FIPS 186-4 and SEC1.

< Domain parameters for 224-bit “Koblitz” curve.

< Domain parameters for the 224-bit curve defined by FIPS 186-4 and SEC1.

< Domain parameters for 256-bit “Koblitz” curve.

< Domain parameters for the 256-bit curve defined by FIPS 186-4 and SEC1.

< Domain parameters for the 384-bit curve defined by FIPS 186-4 and SEC1.

< Domain parameters for the 521-bit curve defined by FIPS 186-4 and SEC1.

< The MD2 message digest.

< The MD4 message digest.

< The MD5 message digest.

< The RIPEMD-160 message digest.

< The SHA-1 message digest.

< The SHA-224 message digest.

< The SHA-256 message digest.

< The SHA-384 message digest.

< The SHA-512 message digest.

< use an empty password to connect to an encrypted parent

< the connected device is changed to a leaf

< connect to an unencrypted parent/router

< root conflict is detected

< a child is connected on softAP interface

< a child is disconnected on softAP interface

< when the channel field in mesh configuration is set to zero, mesh stack will perform a full channel scan to find a mesh network that can join, and return the channel value after finding it.

< layer changes over the mesh network

< network state, such as whether current mesh network has a root.

< parent is connected on station interface

< parent is disconnected on station interface

< the root address is obtained. It is posted by mesh stack automatically.

< the root is asked yield by a more powerful existing root. If self organized is disabled and this device is specified to be a root by users, users should set a new parent for this device. if self organized is enabled, this device will find a new parent by itself, users could ignore this event.

< when devices join a network, if the setting of Fixed Root for one device is different from that of its parent, the device will update the setting the same as its parent’s. Fixed Root Setting of each device is variable as that setting changes of the root.

< root switch acknowledgment responds the above request sent from current root

< root switch request sent from a new voted root candidate

< if users specify BSSID of the router in mesh configuration, when the root connects to another router with the same SSID, this event will be posted and the new router information is attached.

< routing table is changed by adding newly joined children

< routing table is changed by removing leave children

< if self-organized networking is disabled, user can call esp_wifi_scan_start() to trigger this event, and add the corresponding scan done handler in this event.

< the root stops reconnecting to the router and non-root devices stop reconnecting to their parents.

< state represents whether the root is able to access external IP network

< the process of voting a new root is started either by children or by the root

< the process of voting a new root is stopped

< the root is able to access external IP network

< the root isn’t able to access external IP network

< IP network mesh communication of node’s AP interface

< IP network mesh communication of node’s STA interface

< no retransmission on mesh stack

< provide E2E (end-to-end) retransmission on mesh stack (Unimplemented)

< provide P2P (point-to-point) retransmission on mesh stack by default

< hasn’t joined the mesh network yet

< has no forwarding ability

< intermediate device. Has the ability to forward packets over the mesh network

< the only sink of the mesh network. Has the ability to access external IP network

< connect to router with a standlone Wi-Fi station mode, no network expansion capability

< Type uint8_t

< Type uint16_t

< Type uint32_t

< Type uint64_t

Includes spare room for IP header. Use this if you intend to pass the pbuf to functions like raw_send().

Includes spare room for link layer header (ethernet header). Use this if you intend to pass the pbuf to functions like ethernet_output(). @see PBUF_LINK_HLEN

Use this for input packets in a netif driver when calling netif->input() in the most common case - ethernet-layer netif driver.

Includes spare room for additional encapsulation header before ethernet headers (e.g. 802.11). Use this if you intend to pass the pbuf to functions like netif->linkoutput(). @see PBUF_LINK_ENCAPSULATION_HLEN

Includes spare room for transport layer header, e.g. UDP header. Use this if you intend to pass the pbuf to functions like udp_send().

pbuf payload refers to RAM. This one comes from a pool and should be used for RX. Payload can be chained (scatter-gather RX) but like PBUF_RAM, struct pbuf and its payload are allocated in one piece of contiguous memory (so the first payload byte can be calculated from struct pbuf). Don’t use this for TX, if the pool becomes empty e.g. because of TCP queuing, you are unable to receive TCP acks!

pbuf data is stored in RAM, used for TX mostly, struct pbuf and its payload are allocated in one piece of contiguous memory (so the first payload byte can be calculated from struct pbuf). pbuf_alloc() allocates PBUF_RAM pbufs as unchained pbufs (although that might change in future versions). This should be used for all OUTGOING packets (TX).

pbuf comes from the pbuf pool. Much like PBUF_ROM but payload might change so it has to be duplicated when queued before transmitting, depending on who has a ‘ref’ to it.

pbuf data is stored in ROM, i.e. struct pbuf and its payload are located in totally different memory areas. Since it points to ROM, payload does not have to be copied when queued for transmission.

< interrupt of AES accelerator, level

< interrupt of APB ADC, LEVEL

< interrupt of Assist debug module, LEVEL

< interrupt of BT BB, level

< interrupt of BT BB, NMI, use if BB have bug to fix in NMI

< interrupt of Cache Invalied Access, LEVEL

< interrupt of general DMA channel 0, LEVEL

< interrupt of general DMA channel 1, LEVEL

< interrupt of general DMA channel 2, LEVEL

< interrupt of efuse, level, not likely to use

< interrupt0 generated from a CPU, level

< interrupt1 generated from a CPU, level

< interrupt2 generated from a CPU, level

< interrupt3 generated from a CPU, level

< interrupt of GPIO, level

< interrupt of I2C controller1, level

< interrupt of I2C Master, level

< interrupt of I2S1, level

< interrupt of ICache perload operation, LEVEL

< interrupt of instruction cache sync done, LEVEL

< interrupt of LED PWM, level

< interrupt of remote controller, level

< interrupt of RSA accelerator, level

< interrupt of rtc core, level, include rtc watchdog

< interrupt of RWBLE, level

< interrupt of RWBLE, NMI, use if RWBT have bug to fix in NMI

< interrupt of RWBT, level

< interrupt of RWBT, NMI, use if RWBT have bug to fix in NMI

< interrupt of SHA accelerator, level

< interrupt of SLC0, level

< interrupt of SLC1, level

< interrupt of SPI1, level, SPI1 is for flash read/write, do not use this

< interrupt of SPI2, level

< interrupt of SPI0 Cache access and SPI1 access rejected, LEVEL

< interrupt of TIMER_GROUP0, TIMER0, level

< interrupt of TIMER_GROUP0, WATCH DOG, level

< interrupt of TIMER_GROUP1, TIMER0, level

< interrupt of TIMER_GROUP1, WATCHDOG, level

< interrupt of can, level

< interrupt of UART0, level

< interrupt of UART1, level

< interrupt of UHCI0, level

< interrupt of WiFi BB, level, we can do some calibartion

< interrupt of WiFi MAC, level

< interrupt of WiFi MAC, NMI, use if MAC have bug to fix in NMI

< RMT carrier wave is modulated for high Level output

< RMT carrier wave is modulated for low Level output

< RMT channel status busy

< RMT channel status idle

< RMT channel uninitialized

< RMT channel number 0

< RMT channel number 1

< RMT channel number 2

< RMT channel number 3

< Number of RMT channels

< RMT TX idle level: high Level

< RMT TX idle level: low Level

< RMT RX mode, RMT receiver owns the memory block

< RMT RX mode, RMT transmitter owns the memory block

< RMT source clock is APB CLK, 80Mhz by default

< RMT source clock is XTAL clock, 40Mhz by default

!< Internal 8 MHz RC oscillator, divided by 256

!< External 32 kHz XTAL

!< Internal 150 kHz oscillator

!< Currently selected RTC SLOW_CLK

!< Internal 8M RTC oscillator

!< Main XTAL frequency

!< Internal 8 MHz RC oscillator

!< Main XTAL, divided by 4

< Pad (output + input) disable

< Pad input + open-drain output

!< Internal 8 MHz RC oscillator, divided by 256

!< Internal 150 kHz RC oscillator

< ESP32 station smartconfig has found the channel of the target AP

< ESP32 station smartconfig got the SSID and password

< ESP32 station smartconfig has finished to scan for APs

< ESP32 station smartconfig has sent ACK to cellphone

< protocol: ESPTouch and AirKiss

< Update system time immediately when receiving a response from the SNTP server.

< Smooth time updating. Time error is gradually reduced using adjtime function. If the difference between SNTP response time and system time is large (more than 35 minutes) then update immediately.

< Enable DMA, channel is automatically selected by driver

< Do not enable DMA for SPI

< The buffer has received data from master.

< The buffer has sent data to master.

< Received CMD9 from master.

< Received CMDA from master.

< Slave has received certain number of data from master, the number is determined by Master.

< Slave has loaded its RX data buffer to the hardware (DMA).

< Master has received certain number of the data, the number is determined by Master.

< Slave has loaded its TX data buffer to the hardware (DMA).

< A transaction has done

< map to data memory (Vaddr0), allows byte-aligned access, 4 MB total

< map to instruction memory (Vaddr1-3), allows only 4-byte-aligned access, 11 MB total

< Receive status of Action frame transmitted

< Receive probe request packet in soft-AP interface

< a station connected to ESP32 soft-AP

< a station disconnected from ESP32 soft-AP

< ESP32 soft-AP assign an IP to a connected station

< ESP32 ethernet got IP from connected AP

< ESP32 ethernet lost IP and the IP is reset to 0

< Receive report of FTM procedure

< ESP32 station or ap or ethernet interface v6IP addr is preferred

< Number of members in this enum

< Indicates the completion of Remain-on-Channel operation status

< ESP32 finish scanning AP

< the auth mode of AP connected by ESP32 station changed

< ESP32 station connected BSS rssi goes below threshold

< ESP32 station connected to AP

< ESP32 station disconnected from AP

< ESP32 station got IP from connected AP

< ESP32 station lost IP and the IP is reset to 0

< ESP32 station wps fails in enrollee mode

< ESP32 station wps overlap in enrollee mode

< ESP32 station wps pin code in enrollee mode

< ESP32 station wps succeeds in enrollee mode

< ESP32 station wps timeout in enrollee mode

< Wi-Fi soft-AP interface

< Wi-Fi STA (station) interface

< tcpip stack test interface

< Disable timer alarm

< Enable timer alarm

< Disable auto-reload: hardware will not load counter value after an alarm event

< Enable auto-reload: hardware will load counter value after an alarm event

< Descending Count from cnt.high|cnt.low

< Ascending Count from Zero

<Hw timer group 0

<Hw timer group 1

<Select timer0 of GROUPx

< Interrupt mode: level mode

< interrupt of timer 0

< interrupt of watchdog

< Select APB as the source clock

< Select XTAL as the source clock

<Pause timer counter

<Start timer counter

<Touch sensor charge / discharge speed, always zero

<Touch sensor charge / discharge speed, slowest

<Touch sensor charge / discharge speed

<Touch sensor charge / discharge speed

<Touch sensor charge / discharge speed

<Touch sensor charge / discharge speed

<Touch sensor charge / discharge speed

<Touch sensor charge / discharge speed, fast

<The filter mode is first-order IIR filter. The coefficient is 4.

<The filter mode is first-order IIR filter. The coefficient is 8.

<The filter mode is first-order IIR filter. The coefficient is 16 (Typical value).

<The filter mode is first-order IIR filter. The coefficient is 32.

<The filter mode is first-order IIR filter. The coefficient is 64.

<The filter mode is first-order IIR filter. The coefficient is 128.

<The filter mode is first-order IIR filter. The coefficient is 256.

<The filter mode is jitter filter

<To start touch FSM by software trigger

<To start touch FSM by timer

<Touch sensor high reference voltage, 2.4V

<Touch sensor high reference voltage, 2.5V

<Touch sensor high reference voltage, 2.6V

<Touch sensor high reference voltage, 2.7V

<Touch sensor high reference voltage, no change

<Touch sensor low reference voltage, 0.5V

<Touch sensor low reference voltage, 0.6V

<Touch sensor low reference voltage, 0.7V

<Touch sensor low reference voltage, 0.8V

<Touch sensor low reference voltage, no change

<Idle status of touch channel is ground connection

<Idle status of touch channel is high resistance state

<Denoise channel internal reference capacitance is 5pf

<Denoise channel internal reference capacitance is 6.4pf

<Denoise channel internal reference capacitance is 7.8pf

<Denoise channel internal reference capacitance is 9.2pf

<Denoise channel internal reference capacitance is 10.6pf

<Denoise channel internal reference capacitance is 12.0pf

<Denoise channel internal reference capacitance is 13.4pf

<Denoise channel internal reference capacitance is 14.8pf

<Active for one of the enabled channels.

<Measurement done for one of the enabled channels.

<Inactive for one of the enabled channels.

<Measurement done for all the enabled channels.

<Timeout for one of the enabled channels.

<The max equivalent capacitance in shield channel is 40pf

<The max equivalent capacitance in shield channel is 80pf

<The max equivalent capacitance in shield channel is 120pf

<The max equivalent capacitance in shield channel is 160pf

<The max equivalent capacitance in shield channel is 200pf

<The max equivalent capacitance in shield channel is 240pf

<The max equivalent capacitance in shield channel is 280pf

<The max equivalent capacitance in shield channel is 320pf

< Touch pad channel 0 is GPIO4(ESP32)

< Touch pad channel 1 is GPIO0(ESP32) / GPIO1(ESP32-S2)

< Touch pad channel 2 is GPIO2(ESP32) / GPIO2(ESP32-S2)

< Touch pad channel 3 is GPIO15(ESP32) / GPIO3(ESP32-S2)

< Touch pad channel 4 is GPIO13(ESP32) / GPIO4(ESP32-S2)

< Touch pad channel 5 is GPIO12(ESP32) / GPIO5(ESP32-S2)

< Touch pad channel 6 is GPIO14(ESP32) / GPIO6(ESP32-S2)

< Touch pad channel 7 is GPIO27(ESP32) / GPIO7(ESP32-S2)

< Touch pad channel 8 is GPIO33(ESP32) / GPIO8(ESP32-S2)

< Touch pad channel 9 is GPIO32(ESP32) / GPIO9(ESP32-S2)

<Filter the raw data. The coefficient is 2 (Typical value).

<Filter the raw data. The coefficient is 4.

<Filter the raw data. The coefficient is 8.

<No filtering of raw data.

<Initial level of charging voltage, high level

<Initial level of charging voltage, low level

<Touch interrupt will happen if counter value is larger than threshold.

<Touch interrupt will happen if counter value is less than threshold.

< wakeup interrupt is generated if both SET1 and SET2 are “touched”

< wakeup interrupt is generated if SET1 is “touched”

<Touch sensor high reference voltage attenuation, 0V attenuation

<Touch sensor high reference voltage attenuation, 0.5V attenuation

<Touch sensor high reference voltage attenuation, 1.0V attenuation

<Touch sensor high reference voltage attenuation, 1.5V attenuation

<Touch sensor high reference voltage attenuation, no change

< The TWAI controller will not influence the bus (No transmissions or acknowledgments) but can receive messages

< Normal operating mode where TWAI controller can send/receive/acknowledge messages

< Transmission does not require acknowledgment. Use this mode for self testing

< Bus-off state. The TWAI controller cannot participate in bus activities until it has recovered

< Recovering state. The TWAI controller is undergoing bus recovery

< Running state. The TWAI controller can transmit and receive messages

< Stopped state. The TWAI controller will not participate in any TWAI bus activities

< UART break event

< UART RX buffer full event

< UART data event

< UART TX data and break event

< UART event max index

< UART FIFO overflow event

< UART RX frame error event

< UART RX parity event

< UART pattern detected

< enable TX hardware flow control (cts)

< enable hardware flow control

< disable hardware flow control

< enable RX hardware flow control (rts)

< mode: IRDA UART mode

< mode: application control RS485 UART mode (used for test purposes)

< mode: RS485 collision detection UART mode (used for test purposes)

< mode: half duplex RS485 UART mode control by RTS pin

< mode: regular UART mode

< Disable UART parity

< Enable UART even parity

< Enable UART odd parity

< UART source clock from APB

< UART source clock from RTC

< UART source clock from XTAL

< inverse the UART cts signal

< inverse the UART dsr signal

< inverse the UART dtr signal

< Disable UART signal inverse

< inverse the UART irda_rx signal

< inverse the UART irda_tx signal

< inverse the UART rts signal

< inverse the UART rxd signal

< inverse the UART txd signal

< Enable WiFi antenna 0 only

< Enable WiFi antenna 1 only

< Enable WiFi antenna 0 and 1, automatically select an antenna

< Invalid WiFi enabled antenna

< WiFi antenna 0

< WiFi antenna 1

< Invalid WiFi antenna

< authenticate mode : open

< authenticate mode : WAPI_PSK

< authenticate mode : WEP

< authenticate mode : WPA2_ENTERPRISE

< authenticate mode : WPA2_PSK

< authenticate mode : WPA2_WPA3_PSK

< authenticate mode : WPA3_PSK

< authenticate mode : WPA_PSK

< authenticate mode : WPA_WPA2_PSK

< the cipher type is AES-CMAC-128

< the cipher type is AES-GMAC-128

< the cipher type is AES-GMAC-256

< the cipher type is GCMP-256

< the cipher type is TKIP and CCMP

< the cipher type is unknown

< the cipher type is WEP104

< Country policy is auto, use the country info of AP to which the station is connected

< Country policy is manual, always use the configured country info

< Status indication of Action Tx operation

< Receive probe request packet in soft-AP interface

< a station connected to ESP32 soft-AP

< a station disconnected from ESP32 soft-AP

< ESP32 soft-AP start

< ESP32 soft-AP stop

< Receive report of FTM procedure

< Invalid WiFi event ID

< Remain-on-Channel operation complete

< ESP32 finish scanning AP

< the auth mode of AP connected by ESP32 station changed

< ESP32 station beacon timeout

< AP’s RSSI crossed configured threshold

< ESP32 station connected to AP

< ESP32 station disconnected from AP

< ESP32 station start

< ESP32 station wps fails in enrollee mode

< ESP32 station wps overlap in enrollee mode

< ESP32 station wps pin code in enrollee mode

< ESP32 station wps succeeds in enrollee mode

< ESP32 station wps timeout in enrollee mode

< Peer rejected FTM configuration in FTM Request

< Unknown error during FTM exchange

< Peer did not respond to FTM Requests

< FTM exchange is successful

< Peer does not support FTM

< Get the configuration of STA’s HT2040 coexist management

< Set the configuration of STA’s HT2040 coexist management

< WiFi soft-AP mode

< WiFi station + soft-AP mode

< WiFi station mode

< 1 Mbps with long preamble

< 2 Mbps with long preamble

< 2 Mbps with short preamble

< 5.5 Mbps with long preamble

< 5.5 Mbps with short preamble

< 11 Mbps with long preamble

< 11 Mbps with short preamble

< MCS0 with long GI, 6.5 Mbps for 20MHz, 13.5 Mbps for 40MHz

< MCS0 with short GI, 7.2 Mbps for 20MHz, 15 Mbps for 40MHz

< MCS1 with long GI, 13 Mbps for 20MHz, 27 Mbps for 40MHz

< MCS1 with short GI, 14.4 Mbps for 20MHz, 30 Mbps for 40MHz

< MCS2 with long GI, 19.5 Mbps for 20MHz, 40.5 Mbps for 40MHz

< MCS2 with short GI, 21.7 Mbps for 20MHz, 45 Mbps for 40MHz

< MCS3 with long GI, 26 Mbps for 20MHz, 54 Mbps for 40MHz

< MCS3 with short GI, 28.9 Mbps for 20MHz, 60 Mbps for 40MHz

< MCS4 with long GI, 39 Mbps for 20MHz, 81 Mbps for 40MHz

< MCS4 with short GI, 43.3 Mbps for 20MHz, 90 Mbps for 40MHz

< MCS5 with long GI, 52 Mbps for 20MHz, 108 Mbps for 40MHz

< MCS5 with short GI, 57.8 Mbps for 20MHz, 120 Mbps for 40MHz

< MCS6 with long GI, 58.5 Mbps for 20MHz, 121.5 Mbps for 40MHz

< MCS6 with short GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz

< MCS7 with long GI, 65 Mbps for 20MHz, 135 Mbps for 40MHz

< MCS7 with short GI, 72.2 Mbps for 20MHz, 150 Mbps for 40MHz

< Control frame, indicates ‘buf’ argument is wifi_promiscuous_pkt_t

< Data frame, indiciates ‘buf’ argument is wifi_promiscuous_pkt_t

< Management frame, indicates ‘buf’ argument is wifi_promiscuous_pkt_t

< Other type, such as MIMO etc. ‘buf’ argument is wifi_promiscuous_pkt_t but the payload is zero length.

Emitted when device fails to connect to the AP of which the credentials were received earlier on event WIFI_PROV_CRED_RECV. The event data in this case is a pointer to the disconnection reason code with type wifi_prov_sta_fail_reason_t

Emitted when Wi-Fi AP credentials are received via protocomm endpoint wifi_config. The event data in this case is a pointer to the corresponding wifi_sta_config_t structure

Emitted when device successfully connects to the AP of which the credentials were received earlier on event WIFI_PROV_CRED_RECV

Signals that manager has been de-initialized

Signals that provisioning service has stopped

Emitted when the manager is initialized

Indicates that provisioning has started

No security (plain-text communication)

This secure communication mode consists of X25519 key exchange

< Maximum modem power saving. In this mode, interval to receive beacons is determined by the listen_interval parameter in wifi_sta_config_t

< Minimum modem power saving. In this mode, station wakes up to receive beacon every DTIM period

< All channel scan, scan will end after scan all the channel

< Do fast scan, scan will end after find SSID match AP

< the channel width is HT40 and the secondary channel is above the primary channel

< the channel width is HT40 and the secondary channel is below the primary channel

< the channel width is HT20

< Sort match AP in scan list by security mode

< Sort match AP in scan list by RSSI

< all configuration will store in both memory and flash

< all configuration will only store in the memory

Statics

@brief Pointer to the “default” SPI flash chip, ie the main chip attached to the MCU.

@brief Default log level

@addtogroup ets_apis @{

@brief Default OS-aware flash access guard functions

@brief Non-OS flash access guard functions

This variable is initialized by the system to contain the wildcard IPv6 address.

Default security profile. Should provide a good balance between security and compatibility with current deployments.

Expected next default profile. Recommended for new deployments. Currently targets a 128-bit security level, except for allowing RSA-2048.

NSA Suite B profile.

The default network interface.

The list of network interfaces.

@brief Scheme that can be used by manager for provisioning over BLE transport with GATT server

@brief Scheme that can be used by manager for provisioning over SoftAP transport with HTTP server

Functions

@brief Set the attenuation of a particular channel on ADC1, and configure its associated GPIO pin mux.

@brief Configure ADC1 capture width, meanwhile enable output invert for ADC1. The configuration is for all channels of ADC1 @param width_bit Bit capture width for ADC1

@brief Take an ADC1 reading from a single channel. @note ESP32: When the power switch of SARADC1, SARADC2, HALL sensor and AMP sensor is turned on, the input of GPIO36 and GPIO39 will be pulled down for about 80ns. When enabling power for any of these peripherals, ignore input from GPIO36 and GPIO39. Please refer to section 3.11 of ‘ECO_and_Workarounds_for_Bugs_in_ESP32’ for the description of this issue. As a workaround, call adc_power_acquire() in the app. This will result in higher power consumption (by ~1mA), but will remove the glitches on GPIO36 and GPIO39.

@brief Get the GPIO number of a specific ADC1 channel.

@brief Configure the ADC2 channel, including setting attenuation.

@brief Take an ADC2 reading on a single channel

@brief Get the GPIO number of a specific ADC2 channel.

@brief Output ADC2 reference voltage to adc2_channe_t’s IO.

@brief Setting the digital controller.

@brief Deinitialize the Digital ADC.

@brief Enable/disable adc digital controller filter. Filtering the ADC data to obtain smooth data at higher sampling rates.

@brief Get adc digital controller filter configuration.

@brief Reset adc digital controller filter.

@brief Set adc digital controller filter configuration.

@brief Initialize the Digital ADC.

@brief Enable/disable monitor of adc digital controller.

@brief Config monitor of adc digital controller.

@brief Read bytes from Digital ADC through DMA.

@brief Start the Digital ADC and DMA peripherals. After this, the hardware starts working.

@brief Stop the Digital ADC and DMA peripherals. After this, the hardware stops working.

@brief Increment the usage counter for ADC module. ADC will stay powered on while the counter is greater than 0. Call adc_power_release when done using the ADC.

@brief Power off SAR ADC @deprecated Use adc_power_acquire and adc_power_release instead. This function will force power down for ADC. This function is deprecated because forcing power ADC power off may disrupt operation of other components which may be using the ADC.

@brief Enable ADC power @deprecated Use adc_power_acquire and adc_power_release instead.

@brief Decrement the usage counter for ADC module. ADC will stay powered on while the counter is greater than 0. Call this function when done using the ADC.

@brief Output ADC1 or ADC2’s reference voltage to adc2_channe_t’s IO.

deprecated functions, for back-compatibility only

other functions

arg_xxx constructor functions

@brief Check if the image (bootloader and application) has valid chip ID and revision

@brief Check if a GPIO input is held low for a long period, short period, or not at all.

@brief Check if a GPIO input is held low or high for a long period, short period, or not at all.

@brief Erase the partition data that is specified in the transferred list.

@brief Returns the number of active otadata.

@brief Returns esp_app_desc structure for app partition. This structure includes app version.

@brief Query reset reason

@brief Calculates a sha-256 for a given partition or returns a appended digest.

@brief Determines if the list contains the label

@brief Calculate crc for the OTA data select.

@brief Returns true if OTADATA is not marked as bootable partition.

@brief Verifies the validity of the OTA data select

@brief Returns the number of active otadata.

@brief Configure VDDSDIO, call this API to rise VDDSDIO to 1.9V when VDDSDIO regulator is enabled as 1.8V mode.

@brief Configure default SPI pin modes and drive strengths

@brief Get flash CS IO

@brief Verify and load an app image (available only in space of bootloader).

@brief Load an app image without verification (available only in space of bootloader).

@brief Get CRC for Fast RTC Memory.

@brief Extracts the input baud rate from the input structure exactly (without interpretation).

@brief Extracts the output baud rate from the input structure exactly (without interpretation).

@brief Set input baud rate in the termios structure

@brief Set output baud rate in the termios structure

Clear and disable breakpoint.

Clear and disable watchpoint.

Set and enable breakpoint at an instruction address.

Set exception vector table base address.

Set and enable a watchpoint, specifying the memory range and trigger operation.

@cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} eTaskState eTaskGetState( TaskHandle_t xTask ); @endcode @endcond

@brief Characterize an ADC at a particular attenuation

@brief Checks if ADC calibration values are burned into eFuse

@brief Reads an ADC and converts the reading to a voltage in mV

@brief Convert an ADC reading to voltage in mV

\brief Lock access to AES hardware unit

\brief AES-CBC buffer encryption/decryption Length should be a multiple of the block size (16 bytes)

\brief AES-CFB8 buffer encryption/decryption.

\brief AES-CFB128 buffer encryption/decryption.

\brief AES-CTR buffer encryption/decryption

\brief AES-ECB block encryption/decryption

\brief This function performs an AES-OFB (Output Feedback Mode) encryption or decryption operation.

AES-XTS buffer encryption/decryption

Deprecated, see esp_aes_internal_decrypt

Deprecated, see esp_aes_internal_encrypt

\brief Clear AES context

\brief Initialize AES context

\brief Unlock access to AES hardware unit

\brief AES set key schedule (encryption or decryption)

\brief This function releases and clears the specified AES XTS context.

\brief This function initializes the specified AES XTS context.

\brief This function prepares an XTS context for decryption and sets the decryption key.

\brief This function prepares an XTS context for encryption and sets the encryption key.

Get the next frame on a stack for backtracing

Get the first frame of the current stack’s backtrace

@brief Print the backtrace of the current stack

@brief Print the backtrace from specified frame.

@brief Return base MAC address which is set using esp_base_mac_addr_set.

@brief Set base MAC address with the MAC address which is stored in BLK3 of EFUSE or external storage e.g. flash and EEPROM.

@brief Fill an esp_chip_info_t structure with information about the chip @param[out] out_info structure to be filled

@brief Register console command @param cmd pointer to the command description; can point to a temporary value @return - ESP_OK on success - ESP_ERR_NO_MEM if out of memory - ESP_ERR_INVALID_ARG if command description includes invalid arguments

@brief de-initialize console module @note Call this once when done using console module functions @return - ESP_OK on success - ESP_ERR_INVALID_STATE if not initialized yet

@brief Callback which provides command completion for linenoise library

@brief Callback which provides command hints for linenoise library

@brief initialize console module @param config console configuration @note Call this once before using other console module features @return - ESP_OK on success - ESP_ERR_NO_MEM if out of memory - ESP_ERR_INVALID_STATE if already initialized - ESP_ERR_INVALID_ARG if the configuration is invalid

@brief Establish a console REPL environment over UART driver

@brief Establish a console REPL environment over USB CDC

@brief Register a ‘help’ command

@brief Run command line @param cmdline command line (command name followed by a number of arguments) @param[out] cmd_ret return code from the command (set if command was run) @return - ESP_OK, if command was run - ESP_ERR_INVALID_ARG, if the command line is empty, or only contained whitespace - ESP_ERR_NOT_FOUND, if command with given name wasn’t registered - ESP_ERR_INVALID_STATE, if esp_console_init wasn’t called

@brief Split command line into arguments in place @verbatim

@brief Start REPL environment @param[in] repl REPL handle returned from esp_console_new_repl_xxx @note Once the REPL got started, it won’t be stopped until user call repl->del(repl) to destory the REPL environment. @return - ESP_OK on success - ESP_ERR_INVALID_STATE, if repl has started already

@brief Check integrity of coredump data in flash. This function reads the coredump data while calculating their checksum. If it doesn’t match the checksum written on flash, it means data are corrupted, an error will be returned. Else, ESP_OK is returned.

@brief Erases coredump data in flash. esp_core_dump_image_get() will then return ESP_ERR_NOT_FOUND. Can be used after a coredump has been transmitted successfully. This function is always available, even when core dump is disabled in menuconfig.

@brief Retrieves address and size of coredump data in flash. This function is always available, even when core dump is disabled in menuconfig.

@brief Initializes core dump module internal data.

@brief Saves core dump to flash.

@brief Print base64-encoded core dump to UART.

@brief Clear a watchpoint

@brief Configure CPU to disable access to invalid memory regions

@brief Returns true if a JTAG debugger is attached to CPU OCD (on chip debug) port.

@brief Reset CPU using RTC controller @param cpu_id ID of the CPU to reset (0 = PRO, 1 = APP)

@brief Set a watchpoint to break/panic when a certain memory range is accessed.

@brief Stall CPU using RTC controller @param cpu_id ID of the CPU to stall (0 = PRO, 1 = APP)

@brief Un-stall CPU using RTC controller @param cpu_id ID of the CPU to un-stall (0 = PRO, 1 = APP)

@brief Attach and enable use of a bundle for certificate verification

@brief Disable and dealloc the certification bundle

@brief Set the default certificate bundle used for verification

@brief Enter deep-sleep mode

@brief Disable logging from the ROM code after deep sleep.

@brief Enable wakeup using specific gpio pins

@brief Enter deep sleep with the configured wakeup options

@brief The default esp-idf-provided esp_wake_deep_sleep() stub.

@brief Derive local MAC address from universal MAC address.

@brief Read a sequence of DPORT registers to the buffer.

@brief Set the batch mode of writing fields.

@brief Reset the batch mode of writing fields.

@brief Writes all prepared data for the batch mode.

@brief Checks that the given block is empty.

@brief Check secure_version from app and secure_version and from efuse field.

@brief Return the number of unused efuse key blocks in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX

@brief Disable ROM Download Mode via eFuse

@brief Switch ROM Download Mode to Secure Download mode via eFuse

@brief Find a key block with the particular purpose set.

@brief Search for an unused key block and return the first one found.

@brief Returns chip version from efuse

@brief Return efuse coding scheme for blocks.

@brief Returns the status of the Secure Boot public key digest revocation bit.

@brief Returns the number of bits used by field.

@brief Returns a pointer to a key block.

@brief Returns a read protection for the key block.

@brief Returns a write protection for the key block.

@brief Returns the current purpose set for an efuse key block.

@brief Returns a write protection of the key purpose field for an efuse key block.

@brief Returns chip package from efuse

@brief Returns a pointer to a key purpose for an efuse key block.

@brief Returns a write protection of the Secure Boot public key digest revocation bit.

@brief Returns true if the key block is unused, false otherwise.

@brief Return base MAC address which was previously written to BLK3 of EFUSE.

@brief Return base MAC address which is factory-programmed by Espressif in EFUSE.

@brief Read key to efuse block starting at the offset and the required size.

@brief Read a single bit eFuse field as a boolean value.

@brief Reads bits from EFUSE field and writes it into an array.

@brief Reads bits from EFUSE field and returns number of bits programmed as “1”.

@brief Returns value of efuse register.

@brief Return secure_version from efuse field. @return Secure version from efuse field

@brief Reset efuse write registers

@brief Sets the Secure Boot public key digest revocation bit.

@brief Sets a read protection for the key block.

@brief Sets a write protection for the key block.

@brief Sets a key purpose for an efuse key block.

@brief Sets a write protection of the key purpose field for an efuse key block.

@brief Sets a read protection for the whole block.

@brief Set boot ROM log scheme via eFuse

@brief Sets a write protection for the whole block.

@brief Sets a write protection of the Secure Boot public key digest revocation bit.

@brief Write efuse field by secure_version value.

@brief Write key to efuse block starting at the offset and the required size.

@brief Write a single bit eFuse field to 1

@brief Writes array to EFUSE field.

@brief Writes a required count of bits as “1” to EFUSE field.

@brief Program a block of key data to an efuse block

@brief Program keys to unused efuse blocks

@brief Write value to efuse register.

@brief Returns string for esp_err_t error codes

@brief Returns string for esp_err_t and system error codes

@brief Set timeout of SmartConfig process.

@brief Unregister default IP layer handlers for Ethernet

@brief Decrease Ethernet driver reference

@brief Delete netif glue of Ethernet driver

@brief Detect PHY address

@brief Install Ethernet driver

@brief Uninstall Ethernet driver @note It’s not recommended to uninstall Ethernet driver unless it won’t get used any more in application code. To uninstall Ethernet driver, you have to make sure, all references to the driver are released. Ethernet driver can only be uninstalled successfully when reference counter equals to one.

@brief Increase Ethernet driver reference @note Ethernet driver handle can be obtained by os timer, netif, etc. It’s dangerous when thread A is using Ethernet but thread B uninstall the driver. Using reference counter can prevent such risk, but care should be taken, when you obtain Ethernet driver, this API must be invoked so that the driver won’t be uninstalled during your using time.

@brief Misc IO function of Etherent driver

@brief Create a netif glue for Ethernet driver @note netif glue is used to attach io driver to TCP/IP netif

@brief Create a PHY instance of DP83848

@brief Create a PHY instance of IP101

@brief Create a PHY instance of KSZ8041

@brief Create a PHY instance of KSZ8081

@brief Create a PHY instance of LAN87xx

@brief Create a PHY instance of RTL8201

@brief General Receive is deprecated and shall not be accessed from app code, as polling is not supported by Ethernet.

@brief Register default IP layer handlers for Ethernet

@brief Start Ethernet driver ONLY in standalone mode (i.e. without TCP/IP stack)

@brief Stop Ethernet driver

@brief General Transmit

@brief Update Ethernet data input path (i.e. specify where to pass the input buffer)

@brief Dumps statistics of all event loops.

@brief Register an instance of event handler to the default loop.

@brief Register an instance of event handler to a specific loop.

@brief Unregister a handler from the system event loop.

@brief Unregister a handler instance from a specific event loop.

@brief Register an event handler to the system event loop (legacy).

@brief Register an event handler to a specific loop (legacy).

@brief Unregister a handler with the system event loop (legacy).

@brief Unregister a handler from a specific event loop (legacy).

@brief Special variant of esp_event_post for posting events from interrupt handlers.

@brief Special variant of esp_event_post_to for posting events from interrupt handlers

@brief Create a new event loop.

@brief Create default event loop

@brief Delete an existing event loop.

@brief Delete the default event loop

@brief Initialize event loop

@brief Dispatch events posted to an event loop.

@brief Set application specified event callback function

@brief Posts an event to the system default event loop. The event loop library keeps a copy of event_data and manages the copy’s lifetime automatically (allocation + deletion); this ensures that the data the handler recieves is always valid.

@brief Posts an event to the specified event loop. The event loop library keeps a copy of event_data and manages the copy’s lifetime automatically (allocation + deletion); this ensures that the data the handler recieves is always valid.

@brief Default event handler for system events

@brief Send a event to event task

@brief Send a event to event task

@brief Install default event handlers for Ethernet interface

@brief Install default event handlers for Wi-Fi interfaces (station and AP)

@brief Fill a buffer with random bytes from hardware RNG

Check if appropriate chip driver is set.

@brief Erase flash chip contents

@brief Erase a region of the flash chip

@brief Read if the entire chip is write protected

@brief Read the list of individually protectable regions of this SPI flash chip.

@brief Detect if a region of the SPI flash chip is protected

@brief Detect flash size based on flash ID.

@brief Initialise SPI flash chip interface.

@brief Read data from the SPI flash chip

@brief Read and decrypt data from the SPI flash chip using on-chip hardware flash encryption

@brief Read flash ID via the common “RDID” SPI flash command.

@brief Read flash unique ID via the common “RDUID” SPI flash command.

@brief Set write protection for the SPI flash chip

@brief Update the protected status for a region of the SPI flash chip

@brief Write data to the SPI flash chip

@brief Encrypted and write data to the SPI flash chip using on-chip hardware flash encryption

@brief Get current wake from deep sleep stub @return Return current wake from deep sleep stub, or NULL if no stub is installed.

@brief Get the size of available heap.

@brief Get the size of available internal heap.

Return full IDF version string, same as ‘git describe’ output.

@brief Get the minimum heap that has ever been available

@brief On receiving HTTP Status code 401, this API can be invoked to add authorization information.

@brief This function must be the last function to call for an session. It is the opposite of the esp_http_client_init function and must be called with the same handle as input that a esp_http_client_init call returned. This might close all connections this handle has used and possibly has kept open until now. Don’t call this function if you intend to transfer more files, re-using handles is a key to good performance with esp_http_client.

@brief Close http connection, still kept all http request resources

@brief Delete http request header

@brief This function need to call after esp_http_client_open, it will read from http stream, process all receive headers

@brief Process all remaining response data This uses an internal buffer to repeatedly receive, parse, and discard response data until complete data is processed. As no additional user-supplied buffer is required, this may be preferrable to esp_http_client_read_response in situations where the content of the response may be ignored.

@brief Get Chunk-Length from client

@brief Get http response content length (from header Content-Length) the valid value if this function invoke after esp_http_client_perform

@brief Get HTTP client session errno

@brief Get http request header. The value parameter will be set to NULL if there is no header which is same as the key specified, otherwise the address of header value will be assigned to value parameter. This function must be called after esp_http_client_init.

@brief Get http request password. The address of password buffer will be assigned to value parameter. This function must be called after esp_http_client_init.

@brief Get current post field information

@brief Get http response status code, the valid value if this function invoke after esp_http_client_perform

@brief Get transport type

@brief Get URL from client

@brief Get http request username. The address of username buffer will be assigned to value parameter. This function must be called after esp_http_client_init.

@brief Start a HTTP session This function must be the first function to call, and it returns a esp_http_client_handle_t that you must use as input to other functions in the interface. This call MUST have a corresponding call to esp_http_client_cleanup when the operation is complete.

@brief Check response data is chunked

@brief Checks if entire data in the response has been read without any error.

@brief This function will be open the connection, write all header strings and return

@brief Invoke this function after esp_http_client_init and all the options calls are made, and will perform the transfer as described in the options. It must be called with the same esp_http_client_handle_t as input as the esp_http_client_init call returned. esp_http_client_perform performs the entire request in either blocking or non-blocking manner. By default, the API performs request in a blocking manner and returns when done, or if it failed, and in non-blocking manner, it returns if EAGAIN/EWOULDBLOCK or EINPROGRESS is encountered, or if it failed. And in case of non-blocking request, the user may call this API multiple times unless request & response is complete or there is a failure. To enable non-blocking esp_http_client_perform(), is_async member of esp_http_client_config_t must be set while making a call to esp_http_client_init() API. You can do any amount of calls to esp_http_client_perform while using the same esp_http_client_handle_t. The underlying connection may be kept open if the server allows it. If you intend to transfer more than one file, you are even encouraged to do so. esp_http_client will then attempt to re-use the same connection for the following transfers, thus making the operations faster, less CPU intense and using less network resources. Just note that you will have to use esp_http_client_set_** between the invokes to set options for the following esp_http_client_perform.

@brief Read data from http stream

@brief Helper API to read larger data chunks This is a helper API which internally calls esp_http_client_read multiple times till the end of data is reached or till the buffer gets full.

@brief Set http request auth_type.

@brief Set http request header, this function must be called after esp_http_client_init and before any perform function

@brief Set http request method

@brief Set http request password. The value of password parameter will be assigned to password buffer. If the password parameter is NULL then password buffer will be freed.

@brief Set post data, this function must be called before esp_http_client_perform. Note: The data parameter passed to this function is a pointer and this function will not copy the data

@brief Set redirection URL. When received the 30x code from the server, the client stores the redirect URL provided by the server. This function will set the current URL to redirect to enable client to execute the redirection request.

@brief Set http request timeout

@brief Set URL for client, when performing this behavior, the options in the URL will replace the old ones

@brief Set http request username. The value of username parameter will be assigned to username buffer. If the username parameter is NULL then username buffer will be freed.

@brief This function will write data to the HTTP connection previously opened by esp_http_client_open()

@brief Get the flash size of the image

@brief Get metadata of app

@brief Verify an app image.

@brief Verify the bootloader image.

@brief Verify the bootloader image.

@brief Enable the interrupt watchdog on the current CPU. This is called in the init code by both CPUs if the interrupt watchdog is enabled in menuconfig.

@brief Initialize the non-CPU-specific parts of interrupt watchdog. This is called in the init code if the interrupt watchdog is enabled in menuconfig.

\brief Internal AES block decryption function (Only exposed to allow overriding it, see AES_DECRYPT_ALT)

\brief Internal AES block encryption function (Only exposed to allow overriding it, see AES_ENCRYPT_ALT)

@brief Allocate an interrupt with the given parameters.

@brief Allocate an interrupt with the given parameters.

@brief Disable the interrupt associated with the handle

@brief disable the interrupt source based on its number @param inum interrupt number from 0 to 31

@brief Enable the interrupt associated with the handle

@brief enable the interrupt source based on its number @param inum interrupt number from 0 to 31

@brief Disable and free an interrupt.

@brief Get CPU number an interrupt is tied to

@brief Get the allocated interrupt for a certain handle

@brief Mark an interrupt as a shared interrupt

@brief Disable interrupts that aren’t specifically marked as running from IRAM

@brief Re-enable interrupts disabled by esp_intr_noniram_disable

@brief Reserve an interrupt to be used outside of this framework

@brief Set the “in IRAM” status of the handler.

@brief Ascii internet address interpretation routine The value returned is in network order.

@brief Converts numeric IP address into decimal dotted ASCII representation.

@brief Enter light sleep with the configured wakeup options

@brief Function which returns timestamp to be used in log output

@brief Get log level for given tag, can be used to avoid expensive log statements

@brief Set log level for given tag

@brief Set function used to output log entries

@brief Function which returns system timestamp to be used in log output

@brief Function which returns timestamp to be used in log output

@brief Write message into the log

@brief Set whether allow more than one root existing in one network

@brief Return the number of packets could be accepted from the specified address

@brief Connect to current parent

@brief Mesh de-initialization

@brief Delete group ID addresses

@brief Disable mesh Power Save function

@brief Disconnect from current parent

@brief Enable mesh Power Save function

@brief Enable network Fixed Root Setting - Enabling fixed root disables automatic election of the root node via voting. - All devices in the network shall use the same Fixed Root Setting (enabled or disabled). - If Fixed Root is enabled, users should make sure a root node is designated for the network.

@brief Flush scan result

@brief Flush upstream packets pending in to_parent queue and to_parent_p2p queue

@brief Get device duty cycle and type

@brief Get announce interval

@brief Get mesh softAP associate expired time

@brief Get mesh softAP authentication mode

@brief Get mesh max connection configuration

@brief Get attempts for mesh self-organized networking

@brief Get mesh softAP beacon interval

@brief Get mesh network capacity

@brief Get mesh stack configuration

@brief Get group ID addresses

@brief Get the number of group ID addresses

@brief Get mesh network ID

@brief Get mesh IE crypto key

@brief Get current layer value over the mesh network

@brief Get max layer value

@brief Get the network duty cycle, duration, type and rule

@brief Get non-mesh max connection configuration

@brief Get the parent BSSID

@brief Get passive scan time

@brief Get delay time before network starts root healing

@brief Get router configuration

@brief Get the router BSSID

@brief Get routing table of this device’s sub-network (including itself)

@brief Get the number of devices in this device’s sub-network (including self)

@brief Get RSSI threshold

@brief Get the running active duty cycle - The running active duty cycle of the root is 100. - If duty type is set to MESH_PS_DEVICE_DUTY_REQUEST, the running active duty cycle is nwk_duty provided by the network. - If duty type is set to MESH_PS_DEVICE_DUTY_DEMAND, the running active duty cycle is dev_duty specified by the users. - In a mesh network, devices are typically working with a certain duty-cycle (transmitting, receiving and sleep) to reduce the power consumption. The running active duty cycle decides the amount of awake time within a beacon interval. At each start of beacon interval, all devices wake up, broadcast beacons, and transmit packets if they do have pending packets for their parents or for their children. Note that Low-duty-cycle means devices may not be active in most of the time, the latency of data transmission might be greater.

@brief Return the number of packets available in the queue waiting to be received by applications

@brief Return whether enable self-organized networking or not

@brief Get nodes in the subnet of a specific child

@brief Get the number of nodes in the subnet of a specific child

@brief Get parameters for parent switch

@brief Get mesh topology

@brief Get total number of devices in current network (including the root)

@brief Get the TSF time

@brief Return the number of packets pending in the queue waiting to be sent by the mesh stack

@brief Get device type over mesh network

@brief Get vote percentage threshold for approval of being a root

@brief Get queue size

@brief Check whether the device is in active state - If the device is not in active state, it will neither transmit nor receive frames.

@brief Check whether the specified group address is my group

@brief Check whether the mesh Power Save function is enabled

@brief Return whether the device is the root node of the network

@brief Check whether allow more than one root to exist in one network

@brief Check whether network Fixed Root Setting is enabled - Enable/disable network Fixed Root Setting by API esp_mesh_fix_root(). - Network Fixed Root Setting also changes with the “flag” value in parent networking IE.

@brief Post the toDS state to the mesh stack

@brief Print the number of rxQ waiting

@brief Enable mesh print scan result

@brief Print the number of txQ waiting

@brief Duty signaling

@brief Get the running duties of device, parent and children

@brief Receive a packet targeted to self over the mesh network

@brief Receive a packet targeted to external IP network - Root uses this API to receive packets destined to external IP network - Root forwards the received packets to the final destination via socket. - If no socket connection is ready to send out the received packets and this esp_mesh_recv_toDS() hasn’t been called by applications, packets from the whole mesh network will be pending in toDS queue.

@brief Get mesh networking IE length of one AP

@brief Get AP record

@brief Send a packet over the mesh network - Send a packet to any device in the mesh network. - Send a packet to external IP network.

@brief Set blocking time of esp_mesh_send()

@brief Enable the minimum rate to 6 Mbps

@brief Set the device duty cycle and type - The range of dev_duty values is 1 to 100. The default value is 10. - dev_duty = 100, the PS will be stopped. - dev_duty is better to not less than 5. - dev_duty_type could be MESH_PS_DEVICE_DUTY_REQUEST or MESH_PS_DEVICE_DUTY_DEMAND. - If dev_duty_type is set to MESH_PS_DEVICE_DUTY_REQUEST, the device will use a nwk_duty provided by the network. - If dev_duty_type is set to MESH_PS_DEVICE_DUTY_DEMAND, the device will use the specified dev_duty.

@brief Set announce interval - The default short interval is 500 milliseconds. - The default long interval is 3000 milliseconds.

@brief Set mesh softAP associate expired time (default:10 seconds) - If mesh softAP hasn’t received any data from an associated child within this time, mesh softAP will take this child inactive and disassociate it. - If mesh softAP is encrypted, this value should be set a greater value, such as 30 seconds.

@brief Set mesh softAP authentication mode

@brief Set mesh max connection value - Set mesh softAP max connection = mesh max connection + non-mesh max connection

@brief Set mesh softAP password

@brief Set attempts for mesh self-organized networking

@brief Set mesh network capacity (max:1000, default:300)

@brief Set mesh stack configuration - Use MESH_INIT_CONFIG_DEFAULT() to initialize the default values, mesh IE is encrypted by default. - Mesh network is established on a fixed channel (1-14). - Mesh event callback is mandatory. - Mesh ID is an identifier of an MBSS. Nodes with the same mesh ID can communicate with each other. - Regarding to the router configuration, if the router is hidden, BSSID field is mandatory.

@brief Set group ID addresses

@brief Set mesh network ID

@brief Set mesh IE crypto functions

@brief Set mesh IE crypto key

@brief Set network max layer value - for tree topology, the max is 25. - for chain topology, the max is 1000. - Network max layer limits the max hop count.

@brief Set the network duty cycle, duration and rule - The range of nwk_duty values is 1 to 100. The default value is 10. - nwk_duty is the network duty cycle the entire network or the up-link path will use. A device that successfully sets the nwk_duty is known as a NWK-DUTY-MASTER. - duration_mins specifies how long the specified nwk_duty will be used. Once duration_mins expires, the root will take over as the NWK-DUTY-MASTER. If an existing NWK-DUTY-MASTER leaves the network, the root will take over as the NWK-DUTY-MASTER again. - duration_mins = (-1) represents nwk_duty will be used until a new NWK-DUTY-MASTER with a different nwk_duty appears. - Only the root can set duration_mins to (-1). - If applied_rule is set to MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE, the nwk_duty will be used by the entire network. - If applied_rule is set to MESH_PS_NETWORK_DUTY_APPLIED_UPLINK, the nwk_duty will only be used by the up-link path nodes. - The root does not accept MESH_PS_NETWORK_DUTY_APPLIED_UPLINK. - A nwk_duty with duration_mins(-1) set by the root is the default network duty cycle used by the entire network.

@brief Set a specified parent for the device

@brief Set passive scan time

@brief Set delay time before starting root healing

@brief Get router configuration

@brief Set RSSI threshold - The default high RSSI threshold value is -78 dBm. - The default medium RSSI threshold value is -82 dBm. - The default low RSSI threshold value is -85 dBm.

@brief Enable/disable self-organized networking - Self-organized networking has three main functions: select the root node; find a preferred parent; initiate reconnection if a disconnection is detected. - Self-organized networking is enabled by default. - If self-organized is disabled, users should set a parent for the device via esp_mesh_set_parent().

@brief Set parameters for parent switch

@brief Set mesh topology. The default value is MESH_TOPO_TREE - MESH_TOPO_CHAIN supports up to 1000 layers

@brief Designate device type over the mesh network - MESH_IDLE: designates a device as a self-organized node for a mesh network - MESH_ROOT: designates the root node for a mesh network - MESH_LEAF: designates a device as a standalone Wi-Fi station that connects to a parent - MESH_STA: designates a device as a standalone Wi-Fi station that connects to a router

@brief Set vote percentage threshold for approval of being a root (default:0.9) - During the networking, only obtaining vote percentage reaches this threshold, the device could be a root.

@brief Set the number of queue

@brief Start mesh - Initialize mesh IE. - Start mesh network management service. - Create TX and RX queues according to the configuration. - Register mesh packets receive callback.

@brief Stop mesh - Deinitialize mesh IE. - Disconnect with current parent. - Disassociate all currently associated children. - Stop mesh network management service. - Unregister mesh packets receive callback. - Delete TX and RX queues. - Release resources. - Restore Wi-Fi softAP to default settings if Wi-Fi dual mode is enabled. - Set Wi-Fi Power Save type to WIFI_PS_NONE.

@brief Cause the root device to add Channel Switch Announcement Element (CSA IE) to beacon - Set the new channel - Set how many beacons with CSA IE will be sent before changing a new channel - Enable the channel switch function

@brief Cause the root device to give up (waive) its mesh root status - A device is elected root primarily based on RSSI from the external router. - If external router conditions change, users can call this API to perform a root switch. - In this API, users could specify a desired root address to replace itself or specify an attempts value to ask current root to initiate a new round of voting. During the voting, a better root candidate would be expected to find to replace the current one. - If no desired root candidate, the vote will try a specified number of attempts (at least 15). If no better root candidate is found, keep the current one. If a better candidate is found, the new better one will send a root switch request to the current root, current root will respond with a root switch acknowledgment. - After that, the new candidate will connect to the router to be a new root, the previous root will disconnect with the router and choose another parent instead.

@brief Lock access to RSA Accelerator (MPI/bignum operations)

@brief Unlock access to RSA Accelerator (MPI/bignum operations)

@brief Destroys the client handle

@brief This api is typically used to force disconnection from the broker

@brief Enqueue a message to the outbox, to be sent later. Typically used for messages with qos>0, but could be also used for qos=0 messages if store=true.

@brief Get outbox size

@brief Creates mqtt client handle based on the configuration

@brief Client to send a publish message to the broker

@brief This api is typically used to force reconnection upon a specific event

@brief Registers mqtt event

@brief Sets mqtt connection URI. This API is usually used to overrides the URI configured in esp_mqtt_client_init

@brief Starts mqtt client with already created client handle

@brief Stops mqtt client tasks

@brief Subscribe the client to defined topic with defined qos

@brief Unsubscribe the client from defined topic

@brief Set configuration structure, typically used when updating the config (i.e. on “before_connect” event

@brief Default building block for network interface action upon IPv6 address added by the underlying stack

@brief Default building block for network interface action upon IO driver connected event

@brief Default building block for network interface action upon IO driver disconnected event

@brief Default building block for network interface action upon network got IP event

@brief Default building block for network interface action upon IPv6 multicast group join

@brief Default building block for network interface action upon IPv6 multicast group leave

@brief Default building block for network interface action upon IPv6 address removed by the underlying stack

@brief Default building block for network interface action upon IO driver start event Creates network interface, if AUTOUP enabled turns the interface on, if DHCPS enabled starts dhcp server

@brief Default building block for network interface action upon IO driver stop event

@brief Attaches esp_netif instance to the io driver handle

@brief Attaches wifi soft AP interface to supplied netif

@brief Attaches wifi station interface to supplied netif

@brief Creates default WIFI AP. In case of any init error this API aborts.

@brief Creates default STA and AP network interfaces for esp-mesh.

@brief Creates default WIFI STA. In case of any init error this API aborts.

@brief Create interface link-local IPv6 address

@brief Creates esp_netif WiFi object based on the custom configuration.

@brief Deinitialize the esp-netif component (and the underlying TCP/IP stack)

@brief Destroys the esp_netif object

@brief Destroys default WIFI netif created with esp_netif_create_default_wifi_…() API.

@brief Get DHCP client status

@brief Set or Get DHCP client option

@brief Start DHCP client (only if enabled in interface object)

@brief Stop DHCP client (only if enabled in interface object)

@brief Get DHCP Server status

@brief Set or Get DHCP server option

@brief Start DHCP server (only if enabled in interface object)

@brief Stop DHCP server (only if enabled in interface object)

@brief Get all IPv6 addresses of the specified interface

@brief Returns configured interface type for this esp-netif instance

@brief Get DNS Server information

@brief Returns configured event for this esp-netif instance and supplied event type

@brief Returns configured flags for this interface

@brief Searches over a list of created objects to find an instance with supplied if key

@brief Get interface hostname.

@brief Returns configured interface key for this esp-netif instance

@brief Gets media driver handle for this esp-netif instance

@brief Get interface global IPv6 address

@brief Get interface link-local IPv6 address

@brief Get interface’s IP address information

@brief Get the mac address for the interface instance

@brief Get net interface index from network stack implementation

@brief Get net interface name from network stack implementation

@brief Returns number of registered esp_netif objects

@brief Get interface’s old IP information

@brief Returns configured routing priority number

@brief Get IP information for stations connected to the Wi-Fi AP interface

@brief Initialize the underlying TCP/IP stack

@brief Get the IPv6 address type

@brief Test if supplied interface is up or down

@brief free the netstack buffer

@brief increase the reference counter of net stack buffer

@brief Creates an instance of new esp-netif object based on provided config

@brief Iterates over list of interfaces. Returns first netif if NULL given as parameter

@brief Passes the raw packets from communication media to the appropriate TCP/IP stack

@brief Set DNS Server information

@brief Configures driver related options of esp_netif object

@brief Set the hostname of an interface

@brief Sets IPv4 address to the specified octets

@brief Set interface’s IP address information

@brief Set the mac address for the interface instance

@brief Set interface old IP information

@brief Converts Ascii internet IPv4 address into esp_ip4_addr_t

@brief Converts Ascii internet IPv6 address into esp_ip4_addr_t Zeros in the IP address can be stripped or completely ommited: “2001:db8:85a3:0:0:0:2:1” or “2001:db8::2:1”)

Function which sets up newlib in ROM for use with ESP-IDF

Initialize newlib static locks

@brief Add a peer to peer list

@brief De-initialize ESPNOW function

@brief Delete a peer from peer list

@brief Fetch a peer from peer list. Only return the peer which address is unicast, for the multicast/broadcast address, the function will ignore and try to find the next in the peer list.

@brief Get a peer whose MAC address matches peer_addr from peer list

@brief Get the number of peers

@brief Get the version of ESPNOW

@brief Initialize ESPNOW function

@brief Peer exists or not

@brief Modify a peer

@brief Register callback function of receiving ESPNOW data

@brief Register callback function of sending ESPNOW data

@brief Send ESPNOW data

@brief Set the primary master key

@brief Set esp_now wake window for sta_disconnected power management

@brief Unregister callback function of receiving ESPNOW data

@brief Unregister callback function of sending ESPNOW data

@brief Abort OTA update, free the handle and memory associated with it.

@brief Commence an OTA update writing to the specified partition.

@brief Checks applications on the slots which can be booted in case of rollback.

@brief Finish OTA update and validate newly written app image.

@brief Erase previous boot app partition and corresponding otadata select for this partition.

@brief Return esp_app_desc structure. This structure includes app version.

@brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated. If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator, the largest possible number of bytes will be written followed by a null. @param dst Destination buffer @param size Size of the buffer @return Number of bytes written to dst (including null terminator)

@brief Returns number of ota partitions provided in partition table.

@brief Get partition info of currently configured boot app

@brief Returns last partition with invalid state (ESP_OTA_IMG_INVALID or ESP_OTA_IMG_ABORTED).

@brief Return the next OTA app partition which should be written with a new firmware.

@brief Returns esp_app_desc structure for app partition. This structure includes app version.

@brief Get partition info of currently running app

@brief Returns state for given partition.

@brief This function is called to roll back to the previously workable app with reboot.

@brief This function is called to indicate that the running app is working well.

@brief Configure OTA data for a new boot partition

@brief Write OTA update data to partition

@brief Write OTA update data to partition

@brief Check for the identity of two partitions by SHA-256 digest.

@brief Deregister the partition previously registered using esp_partition_register_external @param partition pointer to the partition structure obtained from esp_partition_register_external, @return - ESP_OK on success - ESP_ERR_NOT_FOUND if the partition pointer is not found - ESP_ERR_INVALID_ARG if the partition comes from the partition table - ESP_ERR_INVALID_ARG if the partition was not registered using esp_partition_register_external function.

@brief Erase part of the partition

@brief Find partition based on one or more parameters

@brief Find first partition based on one or more parameters

@brief Get esp_partition_t structure for given partition

@brief Get SHA-256 digest for required partition.

@brief Release partition iterator

Check whether the region on the main flash is safe to write.

@brief Configure MMU to map partition into data memory

@brief Move partition iterator to the next partition found

@brief Read data from the partition

@brief Read data from the partition without any transformation/decryption.

@brief Register a partition on an external flash chip

@brief Verify partition data

@brief Write data to the partition

@brief Write data to the partition without any transformation/encryption.

@brief Delete a ping session

@brief Get runtime profile of ping session

@brief Create a ping session

@brief Start the ping session

@brief Stop the ping session

@brief Set implementation-specific power management configuration @param config pointer to implementation-specific configuration structure (e.g. esp_pm_config_esp32) @return - ESP_OK on success - ESP_ERR_INVALID_ARG if the configuration values are not correct - ESP_ERR_NOT_SUPPORTED if certain combination of values is not supported, or if CONFIG_PM_ENABLE is not enabled in sdkconfig

Dump the list of all locks to stderr

@brief Get implementation-specific power management configuration @param config pointer to implementation-specific configuration structure (e.g. esp_pm_config_esp32) @return - ESP_OK on success - ESP_ERR_INVALID_ARG if the pointer is null

@brief Take a power management lock

@brief Initialize a lock handle for certain power management parameter

@brief Delete a lock created using esp_pm_lock

@brief Release the lock taken using esp_pm_lock_acquire.

@brief Get current pthread creation configuration

@brief Creates a default pthread configuration based on the values set via menuconfig.

@brief Initialize pthread library

@brief Configure parameters for creating pthread

@brief Get one random 32-bit word from hardware RNG

@brief Read base MAC address and set MAC address of the interface.

Clean up some of lazily allocated buffers in REENT structures.

Replacement for newlib’s _REENT_INIT_PTR and __sinit.

@brief Register shutdown handler

@brief Get reason of last reset @return See description of esp_reset_reason_t for explanation of each value.

@brief Restart PRO and APP CPUs.

@brief Pauses execution for us microseconds

@brief Get reset reason of CPU

@brief esp_rom_printf can print message to different channels simultaneously. This function can help install the low level putc function for esp_rom_printf.

@brief Install UART1 as the default console channel, equivalent to esp_rom_install_channel_putc(1, esp_rom_uart_putc)

@brief Print formated string to console device @note float and long long data are not supported!

@brief Read key digests from efuse. Any revoked/missing digests will be marked as NULL

@brief If an OCD is connected over JTAG. set breakpoint 0 to the given function address. Do nothing otherwise. @param fn Pointer to the target breakpoint position

@brief Install a new stub at runtime to run on wake from deep sleep

Update current microsecond time from RTC

@brief Configure to isolate all GPIO pins in sleep state

@brief CPU Power down low-level initialize

@brief Disable wakeup source

@brief Disable wakeup by WiFi MAC @return - ESP_OK on success

@brief Enable or disable GPIO pins status switching between slept status and waked status. @param enable decide whether to switch status or not

@brief Enable wakeup from light sleep using GPIOs

@brief Enable wakeup by timer @param time_in_us time before wakeup, in microseconds @return - ESP_OK on success - ESP_ERR_INVALID_ARG if value is out of range (TBD)

@brief Enable wakeup from light sleep using UART

@brief Enable wakeup by WiFi MAC @return - ESP_OK on success

@brief Get the bit mask of GPIOs which caused wakeup (ext1)

@brief Get the bit mask of GPIOs which caused wakeup (gpio)

@brief Get the wakeup source which caused wakeup from sleep

@brief Returns true if a GPIO number is valid for use as wakeup source.

@brief Set power down mode for an RTC power domain in sleep mode

@brief Set mode of SmartConfig. default normal mode.

@brief Get reserved data of ESPTouch v2.

@brief Get the version of SmartConfig.

@brief Start SmartConfig, config ESP device to connect AP. You need to broadcast information by phone APP. Device sniffer special packets from the air that containing SSID and password of target AP.

@brief Stop SmartConfig, free the buffer taken by esp_smartconfig_start.

@brief Set protocol type of SmartConfig.

@brief Start SmartConfig, config ESP device to connect AP. You need to broadcast information by phone APP. Device sniffer special packets from the air that containing SSID and password of target AP.

@brief Stop SmartConfig, free the buffer taken by esp_smartconfig_start.

Format the SPIFFS partition

Get information for SPIFFS

Check if SPIFFS is mounted

@brief Trigger a software abort

@brief Subscribe a task to the Task Watchdog Timer (TWDT)

@brief Deinitialize the Task Watchdog Timer (TWDT)

@brief Unsubscribes a task from the Task Watchdog Timer (TWDT)

@brief Initialize the Task Watchdog Timer (TWDT)

@brief Reset the Task Watchdog Timer (TWDT) on behalf of the currently running task

@brief Query whether a task is subscribed to the Task Watchdog Timer (TWDT)

@brief Create an esp_timer instance

@brief De-initialize esp_timer library

@brief Delete an esp_timer instance

@brief Dump the list of timers to a stream

@brief Minimal initialization of esp_timer

@brief Get the timestamp when the next timeout is expected to occur @return Timestamp of the nearest timer event, in microseconds. The timebase is the same as for the values returned by esp_timer_get_time.

@brief Get the timestamp when the next timeout is expected to occur skipping those which have skip_unhandled_events flag @return Timestamp of the nearest timer event, in microseconds. The timebase is the same as for the values returned by esp_timer_get_time.

@brief Get time in microseconds since boot @return number of microseconds since underlying timer has been started

@brief Initialize esp_timer library

@brief Returns status of a timer, active or not

@brief Start one-shot timer

@brief Start a periodic timer

@brief Stop the timer

@brief Compatible version of esp_tls_conn_destroy() to close the TLS/SSL connection

@brief Close the TLS/SSL connection and free any allocated resources.

@brief Create a new blocking TLS/SSL connection with a given “HTTP” url

@brief Create a new non-blocking TLS/SSL connection with a given “HTTP” url

@brief Create a new blocking TLS/SSL connection

@brief Create a new non-blocking TLS/SSL connection

@brief Create a new blocking TLS/SSL connection

@brief Free the global CA store currently being used.

@brief Returns the last error captured in esp_tls of a specific type The error information is cleared internally upon return

@brief Returns last error in esp_tls with detailed mbedtls related error codes. The error information is cleared internally upon return

@brief Return the number of application data bytes remaining to be read from the current record

@brief Returns the connection socket file descriptor from esp_tls session

@brief Get the pointer to the global CA store currently being used.

@brief Create TLS connection

@brief Create a global CA store, initially empty.

@brief Creates a plain TCP connection, returning a valid socket fd on success or an error handle

@brief Set the global CA store with the buffer provided in pem format.

@brief Unregister shutdown handler

@brief add uart/usb_serial_jtag/usb_otg_acmcdc virtual filesystem driver

@brief add /dev/cdcacm virtual filesystem driver

@brief Set the line endings expected to be received

@brief Set the line endings to sent

@brief Set the line endings expected to be received on specified UART

@brief Set the line endings to sent to specified UART

@brief add /dev/uart virtual filesystem driver

@brief Set the line endings expected to be received on UART

@brief Set the line endings to sent to UART

@brief set VFS to use UART driver for reading and writing @note application must configure UART driver before calling these functions With these functions, read and write are blocking and interrupt-driven. @param uart_num UART peripheral number

@brief set VFS to use simple functions for reading and writing UART Read is non-blocking, write is busy waiting until TX FIFO has enough space. These functions are used by default. @param uart_num UART peripheral number

@brief add /dev/usbserjtag virtual filesystem driver

@brief Set the line endings expected to be received

@brief Set the line endings to sent

@brief Registers the event vfs.

@brief Unregisters the event vfs.

@brief Convenience function to initialize read-only FAT filesystem and register it in VFS

@brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_rawflash_mount

@brief Register FATFS with VFS component

@brief Unmount an SD card from the FAT filesystem and release resources acquired using esp_vfs_fat_sdmmc_mount() or esp_vfs_fat_sdspi_mount()

@brief Convenience function to get FAT filesystem on SD card registered in VFS

@brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_sdmmc_mount

@brief Convenience function to get FAT filesystem on SD card registered in VFS

@brief Convenience function to initialize FAT filesystem in SPI flash and register it in VFS

@brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_spiflash_mount

@brief Un-register FATFS from VFS

@brief Implements the VFS layer of POSIX pread()

@brief Implements the VFS layer of POSIX pwrite()

Register a virtual filesystem for given path prefix.

Special function for registering another file descriptor for a VFS registered by esp_vfs_register_with_id.

Special case function for registering a VFS that uses a method other than open() to open new file descriptors from the interval <min_fd; max_fd).

Special function for registering another file descriptor with given local_fd for a VFS registered by esp_vfs_register_with_id.

Special case function for registering a VFS that uses a method other than open() to open new file descriptors. In comparison with esp_vfs_register_fd_range, this function doesn’t pre-registers an interval of file descriptors. File descriptors can be registered later, by using esp_vfs_register_fd.

@brief Synchronous I/O multiplexing which implements the functionality of POSIX select() for VFS @param nfds Specifies the range of descriptors which should be checked. The first nfds descriptors will be checked in each set. @param readfds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for being ready to read, and on output indicates which descriptors are ready to read. @param writefds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for being ready to write, and on output indicates which descriptors are ready to write. @param errorfds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for error conditions, and on output indicates which descriptors have error conditions. @param timeout If not NULL, then points to timeval structure which specifies the time period after which the functions should time-out and return. If it is NULL, then the function will not time-out. Note that the timeout period is rounded up to the system tick and incremented by one.

@brief Notification from a VFS driver about a read/write/error condition

@brief Notification from a VFS driver about a read/write/error condition (ISR version)

@brief add virtual filesystem semihosting driver

@brief Un-register semihosting driver from VFS

Register and mount SPIFFS to VFS with given path prefix.

Unregister and unmount SPIFFS from VFS

Unregister a virtual filesystem for given path prefix

Special function for unregistering a file descriptor belonging to a VFS registered by esp_vfs_register_with_id.

Unregister a virtual filesystem with the given index

@brief set VFS to use USB-SERIAL-JTAG driver for reading and writing @note application must configure USB-SERIAL-JTAG driver before calling these functions With these functions, read and write are blocking and interrupt-driven.

@brief set VFS to use simple functions for reading and writing UART Read is non-blocking, write is busy waiting until TX FIFO has enough space. These functions are used by default.

These functions are to be used in newlib syscall table. They will be called by newlib when it needs to use any of the syscalls.

@brief Default stub to run on wake from deep sleep.

@brief Close the WebSocket connection in a clean way

@brief Close the WebSocket connection in a clean way with custom code/data Closing sequence is the same as for esp_websocket_client_close()

@brief Destroy the WebSocket connection and free all resources. This function must be the last function to call for an session. It is the opposite of the esp_websocket_client_init function and must be called with the same handle as input that a esp_websocket_client_init call returned. This might close all connections this handle has used.

@brief Start a Websocket session This function must be the first function to call, and it returns a esp_websocket_client_handle_t that you must use as input to other functions in the interface. This call MUST have a corresponding call to esp_websocket_client_destroy when the operation is complete.

@brief Check the WebSocket client connection state

@brief Generic write data to the WebSocket connection; defaults to binary send

@brief Write binary data to the WebSocket connection (data send with WS OPCODE=02, i.e. binary)

@brief Write textual data to the WebSocket connection (data send with WS OPCODE=01, i.e. text)

@brief Set URL for client, when performing this behavior, the options in the URL will replace the old ones Must stop the WebSocket client before set URI if the client has been connected

@brief Open the WebSocket connection

@brief Stops the WebSocket connection without websocket closing handshake

@brief Register the Websocket Events

@brief Send raw ieee80211 data

@brief Get AID of STA connected with soft-AP

@brief Get STAs associated with soft-AP

@brief Clears default wifi event handlers for supplied network interface

@brief Currently this API is just an stub API

@brief Enable or disable 11b rate of specified interface

@brief Config 80211 tx rate of specified interface

@brief Config ESPNOW rate of specified interface

@brief Connect the ESP32 WiFi station to the AP.

@brief Creates wifi driver instance to be used with esp-netif

@brief deauthenticate all stations or associated id equals to aid

@brief Deinit WiFi Free all resource allocated in esp_wifi_init and stop WiFi task

@brief Deinitialize Wi-Fi Driver Free resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure among others.

@brief Destroys wifi driver instance

@brief Disconnect the ESP32 WiFi station from the AP.

@brief End the ongoing FTM Initiator session

@brief Start an FTM Initiator session by sending FTM request If successful, event WIFI_EVENT_FTM_REPORT is generated with the result of the FTM procedure

@brief Set offset in cm for FTM Responder. An equivalent offset is calculated in picoseconds and added in TOD of FTM Measurement frame (T1).

@brief Get current antenna configuration

@brief Get current antenna GPIO configuration

@brief Get the bandwidth of ESP32 specified interface

@brief Get the primary/secondary channel of ESP32

@brief Get configuration of specified interface

@brief get the current country info

@brief get the current country code

@brief Get mask of WiFi events

@brief Return mac of specified wifi driver instance

@brief Get inactive time of specified interface

@brief Get mac of specified interface

@brief Get maximum transmiting power after WiFi start

@brief Get current operating mode of WiFi

@brief Get the promiscuous mode.

@brief Get the subtype filter of the control packet in promiscuous mode.

@brief Get the promiscuous filter.

@brief Get the current protocol bitmap of the specified interface

@brief Get current WiFi power save type

@brief Get the TSF time In Station mode or SoftAP+Station mode if station is not connected or station doesn’t receive at least one beacon after connected, will return 0

@brief Initialize WiFi Allocate resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure etc. This WiFi also starts WiFi task

@brief Initialize Wi-Fi Driver Alloc resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure among others.

@brief Check the MD5 values of the crypto types header files in IDF and WiFi library

@brief Check the MD5 values of the esp_wifi.h in IDF and WiFi library

@brief free the rx buffer which allocated by wifi driver

@brief Get the user-configured channel info

@brief Get current WiFi log info

@brief Get the negotiated bandwidth info after WiFi connection established

@brief Get the negotiated channel info after WiFi connection established

@brief A general API to set/get WiFi internal configuration, it’s for debug only

@brief Check if WiFi TSF is active

@brief Check the MD5 values of the OS adapter header files in IDF and WiFi library

@brief register the net stack buffer reference increasing and free callback

@brief Set the WiFi RX callback

@brief enable or disable transmitting WiFi MAC frame with fixed rate

@brief Set current WiFi log level

@brief Set current log module and submodule

@brief Set device spp amsdu attributes

@brief Notify WIFI driver that the station got ip successfully

@brief transmit the buffer via wifi driver

@brief transmit the buffer by reference via wifi driver

@brief Update WIFI light sleep default parameters

@brief Update WIFI light sleep wake ahead time

@brief Update WiFi MAC time

@brief De-initialize WAPI function when wpa_supplicant de-initialize.

@brief Initialize WAPI function when wpa_supplicant initialize.

@brief Check the MD5 values of the esp_wifi_types.h in IDF and WiFi library

@brief Return true if the supplied interface instance is ready after start. Typically used when registering on receive callback, which ought to be installed as soon as AP started, but once STA gets connected.

@brief Wifi power domain power off

@brief Wifi power domain power on

@brief Register interface receive callback function with argument

@brief Restore WiFi stack persistent settings to default values

@brief Get number of APs found in last scan

@brief Get AP list found in last scan

@brief Scan all available APs.

@brief Stop the scan in process

@brief Set antenna configuration

@brief Set antenna GPIO configuration

@brief Set the bandwidth of ESP32 specified interface

@brief Set primary/secondary channel of ESP32

@brief Set the configuration of the ESP32 STA or AP

@brief Set interval for station to wake up periodically at disconnected.

@brief configure country info

@brief configure country

@brief Enable or disable CSI

@brief Set CSI data configuration

@brief Register the RX callback function of CSI data.

@brief Sets default wifi event handlers for AP interface

@brief Sets default wifi event handlers for STA interface

@brief Set mask to enable or disable some WiFi events

@brief Set the inactive time of the ESP32 STA or AP

@brief Set wifi keep alive time

@brief Set MAC address of the ESP32 WiFi station or the soft-AP interface.

@brief Set maximum transmitting power after WiFi start.

@brief Set the WiFi operating mode

@brief Enable the promiscuous mode.

@brief Enable subtype filter of the control packet in promiscuous mode.

@brief Enable the promiscuous mode packet type filter.

@brief Register the RX callback function in the promiscuous mode.

@brief Set protocol type of specified interface The default protocol is (WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N)

@brief Set current WiFi power save type

@brief Set RSSI threshold below which APP will get an event

@brief Set the delay time for wifi to enter the sleep state when light sleep

@brief Set the WiFi API configuration storage type

@brief Register the txDone callback function of type wifi_tx_done_cb_t

@brief Set 802.11 Vendor-Specific Information Element

@brief Register Vendor-Specific Information Element monitoring callback.

@brief Get information of AP which the ESP32 station is associated with

@brief Start WiFi according to current configuration If mode is WIFI_MODE_STA, it create station control block and start station If mode is WIFI_MODE_AP, it create soft-AP control block and start soft-AP If mode is WIFI_MODE_APSTA, it create soft-AP and station control block and start soft-AP and station

@brief Dump WiFi statistics

@brief Stop WiFi If mode is WIFI_MODE_STA, it stop station and free station control block If mode is WIFI_MODE_AP, it stop soft-AP and free soft-AP control block If mode is WIFI_MODE_APSTA, it stop station/soft-AP and free station/soft-AP control block

Clear interrupt bits of ESSL slave. All the bits set in the mask will be cleared, while other bits will stay the same.

Get interrupt bits of ESSL slave.

Get interrupt enable bits of ESSL slave.

Get a packet from ESSL slave.

Get the size, in bytes, of the data that the ESSL slave is ready to send

Get buffer num for the host to send data to the slave. The buffers are size of buffer_size.

@brief Initialize the slave.

Read general purpose R/W registers (8-bit) of ESSL slave.

Reset the counters of this component. Usually you don’t need to do this unless you know the slave is reset.

Clear interrupt bits of an ESSL SDIO slave. All the bits set in the mask will be cleared, while other bits will stay the same.

@brief Deinitialize and free the space used by the ESSL SDIO device.

Get interrupt bits of an ESSL SDIO slave.

Get interrupt enable bits of an ESSL SDIO slave.

Get a packet from an ESSL SDIO slave.

Get amount of data the ESSL SDIO slave preparing to send to host.

Get buffer num for the host to send data to the slave. The buffers are size of buffer_size.

@cond */ SDIO Initialize process of an ESSL SDIO slave device.

@brief Initialize the ESSL SDIO device and get its handle.

Read general purpose R/W registers (8-bit) of an ESSL SDIO slave.

@brief Reset the counter on the host side.

Send a packet to the ESSL SDIO slave. The slave receive the packet into buffers whose size is buffer_size in the arg.

Send interrupts to slave. Each bit of the interrupt will be triggered.

Set interrupt enable bits of an ESSL SDIO slave. The slave only sends interrupt on the line when there is a bit both the raw status and the enable are set.

Wait for interrupt of an ESSL SDIO slave device.

Wait for the interrupt from the SDIO slave.

Write general purpose R/W registers (8-bit) of an ESSL SDIO slave.

Send a packet to the ESSL Slave. The Slave receives the packet into buffers whose size is buffer_size (configured during initialization).

Send interrupts to slave. Each bit of the interrupt will be triggered.

Set interrupt enable bits of ESSL slave. The slave only sends interrupt on the line when there is a bit both the raw status and the enable are set.

Wait for interrupt of an ESSL slave device.

wait for an interrupt of the slave

Write general purpose R/W registers (8-bit) of ESSL slave.

@brief CPU do while loop for some time. In FreeRTOS task, please call FreeRTOS apis.

@brief Get apb_freq value, If value not stored in RTC_STORE5, than store.

@brief Get the real CPU ticks per us to the ets. This function do not return real CPU ticks per us, just the record in ets. It can be used to check with the real CPU frequency.

@brief Get the uart channel of ets_printf(uart_tx_one_char).

@brief Get the apb divior by xtal frequency. When any types of reset happen, the default value is 2.

@brief Get xtal_freq value, If value not stored in RTC_STORE5, than store.

@brief Ets_printf have two output functions: putc1 and putc2, both of which will be called if need ouput. To install putc1, which is defaulted installed as ets_write_char_uart in none silent boot mode, as NULL in silent mode.

@brief Ets_printf have two output functions: putc1 and putc2, both of which will be called if need ouput. To install putc2, which is defaulted installed as NULL.

@brief Install putc1 as ets_write_char_uart. In silent boot mode(to void interfere the UART attached MCU), we can call this function, after booting ok.

@brief Lock the interrupt to level 2. This function direct set the CPU registers. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Unlock the interrupt to level 0. This function direct set the CPU registers. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Attach a interrupt handler to a CPU interrupt number. This function equals to _xtos_set_interrupt_handler_arg(i, func, arg). In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Mask the interrupts which show in mask bits. This function equals to _xtos_ints_off(mask). In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Unmask the interrupts which show in mask bits. This function equals to _xtos_ints_on(mask). In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Post an event to an Task.

@brief Printf the strings to uart or other devices, similar with printf, simple than printf. Can not print float point data format, or longlong data format. So we maybe only use this in ROM.

@brief Start the Espressif Task Scheduler, which is an infinit loop. Please do not add code after it.

@brief Set App cpu Entry code, code can be called in PRO CPU. When APP booting is completed, APP CPU will call the Entry code if not NULL.

@brief Set the Idle callback, when Tasks are processed, will call the callback before CPU goto sleep.

@brief Set the uart channel of ets_printf(uart_tx_one_char). ROM will set it base on the efuse and gpio setting, however, this can be changed after booting.

@brief Set Pro cpu Startup code, code can be called when booting is not completed, or in Entry code. When Entry code completed, CPU will call the Startup code if not NULL, else call ets_run.

@brief Set Pro cpu Entry code, code can be called in PRO CPU when booting is not completed. When Pro CPU booting is completed, Pro CPU will call the Entry code if not NULL.

@brief Init a task with processer, priority, queue to receive Event, queue length.

@brief Arm an ets timer, this timer range is 640 us to 429496 ms. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Arm an ets timer, this timer range is 640 us to 429496 ms. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Disarm an ets timer. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Unset timer callback and argument to NULL. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Init ets timer, this timer range is 640 us to 429496 ms In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Set timer callback and argument. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate. Call this function when CPU frequency is changed.

@brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate.

@brief Unlock the interrupt to level 0, and CPU will go into power save mode(wait interrupt). This function direct set the CPU registers. In FreeRTOS, please call FreeRTOS apis, never call this api.

@brief Output a char to uart, which uart to output(which is in uart module in ROM) is not in scope of the function. Can not print float point data format, or longlong data format

Get next available drive number

@brief Get the driver number corresponding to a card

Register or unregister diskio driver for given drive number.

Register spi flash partition

Register SD/MMC diskio driver

Register spi flash partition

@brief GPIO common configuration

@brief Disable all digital gpio pad hold function during Deep-sleep.

@brief Enable all digital gpio pad hold function during Deep-sleep.

@brief Disable GPIO deep-sleep wake-up function.

@brief Enable GPIO deep-sleep wake-up function.

@brief Force hold digital and rtc gpio pad. @note GPIO force hold, whether the chip in sleep mode or wakeup mode.

@brief Force unhold digital and rtc gpio pad. @note GPIO force unhold, whether the chip in sleep mode or wakeup mode.

@brief Get GPIO pad drive capability

@brief GPIO get input level

@brief Disable gpio pad hold function.

@brief Enable gpio pad hold function.

@brief Initialize GPIO. This includes reading the GPIO Configuration DataSet to initialize “output enables” and pin configurations for each gpio pin. Please do not call this function in SDK.

@brief Sample the value of GPIO input pins(0-31) and returns a bitmask.

@brief Sample the value of GPIO input pins(32-39) and returns a bitmask.

@brief Install the driver’s GPIO ISR handler service, which allows per-pin GPIO interrupt handlers.

@brief Ack gpio interrupts to process pending interrupts. Please do not call this function in SDK.

@brief Ack gpio interrupts to process pending interrupts. Please do not call this function in SDK.

@brief Disable GPIO module interrupt signal

@brief Enable GPIO module interrupt signal

@brief Register an application-specific interrupt handler for GPIO pin interrupts. Once the interrupt handler is called, it will not be called again until after a call to gpio_intr_ack. Please do not call this function in SDK.

@brief Get gpio interrupts which happens but not processed. Please do not call this function in SDK.

@brief Get gpio interrupts which happens but not processed. Please do not call this function in SDK.

@brief Set pad input to a peripheral signal through the IOMUX. @param gpio_num GPIO number of the pad. @param signal_idx Peripheral signal id to input. One of the *_IN_IDX signals in soc/gpio_sig_map.h.

@brief Set peripheral output to an GPIO pad through the IOMUX. @param gpio_num gpio_num GPIO number of the pad. @param func The function number of the peripheral pin to output pin. One of the FUNC_X_* of specified pin (X) in soc/io_mux_reg.h. @param oen_inv True if the output enable needs to be inverted, otherwise False.

@brief Add ISR handler for the corresponding GPIO pin.

@brief Remove ISR handler for the corresponding GPIO pin.

@brief Register GPIO interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.

@brief set gpio input to a signal, one gpio can input to several signals.

@brief set signal output to gpio, one signal can output to several gpios.

@brief Change GPIO(0-31) pin output by setting, clearing, or disabling pins, GPIO0<->BIT(0). There is no particular ordering guaranteed; so if the order of writes is significant, calling code should divide a single call into multiple calls.

@brief Change GPIO(32-39) pin output by setting, clearing, or disabling pins, GPIO32<->BIT(0). There is no particular ordering guaranteed; so if the order of writes is significant, calling code should divide a single call into multiple calls.

@brief Hold the pad from gpio number.

@brief enable gpio pad input.

@brief Pull down the pad from gpio number.

@brief Pull up the pad from gpio number.

@brief Select pad as a gpio function from IOMUX.

@brief Set pad driver capability.

@brief Unhold the pad from gpio number.

@brief disable GPIOs to wakeup the ESP32. Please do not call this function in SDK.

@brief Set GPIO to wakeup the ESP32. Please do not call this function in SDK.

@brief Disable pull-down on GPIO.

@brief Enable pull-down on GPIO.

@brief Disable pull-up on GPIO.

@brief Enable pull-up on GPIO.

@brief Reset an gpio to default state (select gpio function, enable pullup and disable input and output).

@brief GPIO set direction

@brief Set GPIO pad drive capability

@brief GPIO set interrupt trigger type

@brief GPIO set output level

@brief Configure GPIO pull-up/pull-down resistors

@brief Disable SLP_SEL to change GPIO status automantically in lightsleep. @param gpio_num GPIO number of the pad.

@brief Enable SLP_SEL to change GPIO status automantically in lightsleep. @param gpio_num GPIO number of the pad.

@brief GPIO set direction at sleep

@brief Configure GPIO pull-up/pull-down resistors at sleep

@brief Uninstall the driver’s GPIO ISR service, freeing related resources.

@brief Disable GPIO wake-up function.

@brief Enable GPIO wake-up function.

@brief Allocate a aligned chunk of memory which has the given capabilities

@brief Allocate a aligned chunk of memory which has the given capabilities. The initialized value in the memory is set to zero.

@brief Used to deallocate memory previously allocated with heap_caps_aligned_alloc

@brief Allocate a chunk of memory which has the given capabilities. The initialized value in the memory is set to zero.

@brief Allocate a chunk of memory as preference in decreasing order.

@brief Check integrity of all heaps with the given capabilities.

@brief Check integrity of heap memory around a given address.

@brief Check integrity of all heap memory in the system.

@brief Dump the full structure of all heaps with matching capabilities.

@brief Dump the full structure of all heaps.

@brief Free memory previously allocated via heap_caps_malloc() or heap_caps_realloc().

@brief Return the size that a particular pointer was allocated with.

@brief Get the total free size of all the regions that have the given capabilities

@brief Get heap info for all regions with the given capabilities.

@brief Get the largest free block of memory able to be allocated with the given capabilities.

@brief Get the total minimum free memory of all regions with the given capabilities

@brief Get the total size of all the regions that have the given capabilities

@brief Allocate a chunk of memory which has the given capabilities

@brief Enable malloc() in external memory and set limit below which malloc() attempts are placed in internal memory.

@brief Allocate a chunk of memory as preference in decreasing order.

@brief Print a summary of all memory with the given capabilities.

@brief Reallocate memory previously allocated via heap_caps_malloc() or heap_caps_realloc().

@brief Allocate a chunk of memory as preference in decreasing order.

@brief registers a callback function to be invoked if a memory allocation operation fails @param callback caller defined callback to be invoked @return ESP_OK if callback was registered.

@brief Returns list of current socket descriptors of active sessions

@brief Get HTTPD global transport context (it was set in the server config struct)

@brief Get HTTPD global user context (it was set in the server config struct)

@brief Helper function to get a URL query tag from a query string of the type param1=val1&param2=val2

@brief Queue execution of a function in HTTPD’s context

@brief Function for registering HTTP error handlers

@brief Registers a URI handler

@brief Get the value string of a cookie value from the “Cookie” request headers by cookie name.

@brief Search for a field in request headers and return the string length of it’s value

@brief Get the value string of a field from the request headers

@brief Get Query string length from the request URL

@brief Get Query string from the request URL

@brief API to read content data from the HTTP request

@brief Get the Socket Descriptor from the HTTP request

@brief API to send a complete HTTP response.

@brief API to send one HTTP chunk

@brief For sending out error code in response to HTTP request.

@brief API to append any additional headers

@brief API to set the HTTP status code

@brief API to set the HTTP content type

@brief Raw HTTP send

@brief Get session context from socket descriptor

@brief Get session ‘transport’ context by socket descriptor @see httpd_sess_get_ctx()

@brief Set session context by socket descriptor

@brief Override web server’s pending function (by session FD)

@brief Override web server’s receive function (by session FD)

@brief Override web server’s send function (by session FD)

@brief Set session ‘transport’ context by socket descriptor @see httpd_sess_set_ctx()

@brief Trigger an httpd session close externally

@brief Update LRU counter for a given socket

A low level API to receive data from a given socket

A low level API to send data on a given socket

@brief Starts the web server

@brief Stops the web server

@brief Unregister all URI handlers with the specified uri string

@brief Unregister a URI handler

@brief Test if a URI matches the given wildcard template.

@brief Create and initialize an I2C commands list with a given buffer. After finishing the I2C transactions, it is required to call i2c_cmd_link_delete() to release and return the resources. The required bytes will be dynamically allocated.

@brief Create and initialize an I2C commands list with a given buffer. All the allocations for data or signals (START, STOP, ACK, …) will be performed within this buffer. This buffer must be valid during the whole transaction. After finishing the I2C transactions, it is required to call i2c_cmd_link_delete_static().

@brief Free the I2C commands list

@brief Free the I2C commands list allocated statically with i2c_cmd_link_create_static.

@brief Delete I2C driver

@brief Install an I2C driver

@brief Disable filter on I2C bus

@brief Enable hardware filter on I2C bus Sometimes the I2C bus is disturbed by high frequency noise(about 20ns), or the rising edge of the SCL clock is very slow, these may cause the master state machine to break. Enable hardware filter can filter out high frequency interference and make the master more stable. @note Enable filter will slow down the SCL clock.

@brief get I2C data transfer mode

@brief get I2C data signal timing

@brief Get I2C master clock period

@brief get I2C master start signal timing

@brief get I2C master stop signal timing

@brief get I2C timeout value @param i2c_num I2C port number @param timeout pointer to get timeout value @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error

@brief Delete and free I2C ISR handle.

@brief Register an I2C ISR handler.

@brief Send all the queued commands on the I2C bus, in master mode. The task will be blocked until all the commands have been sent out. The I2C APIs are not thread-safe, if you want to use one I2C port in different tasks, you need to take care of the multi-thread issue. This function shall only be called in I2C master mode.

@brief Queue a “read (multiple) bytes” command to the commands list. Multiple bytes will be read on the I2C bus. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all queued commands

@brief Queue a “read byte” command to the commands list. A single byte will be read on the I2C bus. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all queued commands

@brief Perform a read to a device connected to a particular I2C port. This function is a wrapper to i2c_master_start(), i2c_master_write(), i2c_master_read(), etc… It shall only be called in I2C master mode.

@brief Queue a “START signal” to the given commands list. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all the queued commands.

@brief Queue a “STOP signal” to the given commands list. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all the queued commands.

@brief Queue a “write (multiple) bytes” command to the commands list. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all queued commands

@brief Queue a “write byte” command to the commands list. A single byte will be sent on the I2C port. This function shall only be called in I2C master mode. Call i2c_master_cmd_begin() to send all queued commands

@brief Perform a write followed by a read to a device on the I2C bus. A repeated start signal is used between the write and read, thus, the bus is not released until the two transactions are finished. This function is a wrapper to i2c_master_start(), i2c_master_write(), i2c_master_read(), etc… It shall only be called in I2C master mode.

@brief Perform a write to a device connected to a particular I2C port. This function is a wrapper to i2c_master_start(), i2c_master_write(), i2c_master_read(), etc… It shall only be called in I2C master mode.

@brief Configure an I2C bus with the given configuration.

@brief reset I2C rx fifo

@brief reset I2C tx hardware fifo

@brief set I2C data transfer mode

@brief set I2C data signal timing

@brief Set I2C master clock period

@brief Configure GPIO pins for I2C SCK and SDA signals.

@brief set I2C master start signal timing

@brief set I2C master stop signal timing

@brief set I2C timeout value @param i2c_num I2C port number @param timeout timeout value for I2C bus (unit: APB 80Mhz clock cycle) @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error

@brief Read bytes from I2C internal buffer. When the I2C bus receives data, the ISR will copy them from the hardware RX FIFO to the internal ringbuffer. Calling this function will then copy bytes from the internal ringbuffer to the data user buffer. @note This function shall only be called in I2C slave mode.

@brief Write bytes to internal ringbuffer of the I2C slave data. When the TX fifo empty, the ISR will fill the hardware FIFO with the internal ringbuffer’s data. @note This function shall only be called in I2C slave mode.

@brief Install and start I2S driver.

@brief Uninstall I2S driver.

@brief get clock set on particular port number.

@brief Configure I2S a/u-law decompress or compress

@brief Read data from I2S DMA receive buffer

@brief Set clock & bit width used for I2S RX and TX.

@brief Set TX PDM mode up-sample rate @note If you have set PDM mode while calling ‘i2s_driver_install’, default PDM TX upsample parameters have already been set, no need to call this function again if you don’t have to change the default configuration

@brief Set I2S pin number

@brief Set sample rate used for I2S RX and TX.

@brief Start I2S driver

@brief Stop I2S driver

@brief Write data to I2S DMA transmit buffer.

@brief Write data to I2S DMA transmit buffer while expanding the number of bits per sample. For example, expanding 16-bit PCM to 32-bit PCM.

@brief Zero the contents of the TX DMA buffer.

@brief Attach an CPU interrupt to a hardware source. We have 4 steps to use an interrupt: 1.Attach hardware interrupt source to CPU. intr_matrix_set(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM); 2.Set interrupt handler. xt_set_interrupt_handler(ETS_WMAC_INUM, func, NULL); 3.Enable interrupt for CPU. xt_ints_on(1 << ETS_WMAC_INUM); 4.Enable interrupt in the module.

returns ptr to static buffer; not reentrant!

returns ptr to static buffer; not reentrant!

@brief Bind LEDC channel with the selected timer

@brief LEDC callback registration function @note The callback is called from an ISR, it must never attempt to block, and any FreeRTOS API called must be ISR capable. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param cbs Group of LEDC callback functions @param user_arg user registered data for the callback function @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error

@brief LEDC channel configuration Configure LEDC channel with the given channel/output gpio_num/interrupt/source timer/frequency(Hz)/LEDC duty resolution

@brief Install LEDC fade function. This function will occupy interrupt of LEDC module. @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.

@brief Uninstall LEDC fade function.

@brief Start LEDC fading. @note Call ledc_fade_func_install() once before calling this function. Call this API right after ledc_set_fade_with_time or ledc_set_fade_with_step before to start fading. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel number @param fade_mode Whether to block until fading done. See ledc_types.h ledc_fade_mode_t for more info. Note that this function will not return until fading to the target duty if LEDC_FADE_WAIT_DONE mode is selected.

@brief LEDC get duty This function returns the duty at the present PWM cycle. You shouldn’t expect the function to return the new duty in the same cycle of calling ledc_update_duty, because duty update doesn’t take effect until the next cycle.

@brief LEDC get channel frequency (Hz)

@brief LEDC get hpoint value, the counter value when the output is set high level.

@brief Register LEDC interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.

@brief LEDC set duty This function do not change the hpoint value of this channel. if needed, please call ledc_set_duty_with_hpoint. only after calling ledc_update_duty will the duty update. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the LEDC duty, the range of duty setting is [0, (2**duty_resolution) - 1]

@brief A thread-safe API to set duty for LEDC channel and return when duty updated. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished.

@brief LEDC set duty and hpoint value Only after calling ledc_update_duty will the duty update. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the LEDC duty, the range of duty setting is [0, (2**duty_resolution) - 1] @param hpoint Set the LEDC hpoint value(max: 0xfffff)

@brief LEDC set gradient Set LEDC gradient, After the function calls the ledc_update_duty function, the function can take effect. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the start of the gradient duty, the range of duty setting is [0, (2**duty_resolution) - 1] @param fade_direction Set the direction of the gradient @param step_num Set the number of the gradient @param duty_cycle_num Set how many LEDC tick each time the gradient lasts @param duty_scale Set gradient change amplitude

@brief A thread-safe API to set and start LEDC fade function. @note Call ledc_fade_func_install() once before calling this function. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param scale Controls the increase or decrease step scale. @param cycle_num increase or decrease the duty every cycle_num cycles @param fade_mode choose blocking or non-blocking mode @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error

@brief A thread-safe API to set and start LEDC fade function, with a limited time. @note Call ledc_fade_func_install() once, before calling this function. @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param max_fade_time_ms The maximum time of the fading ( ms ). @param fade_mode choose blocking or non-blocking mode @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error

@brief Set LEDC fade function. @note Call ledc_fade_func_install() once before calling this function. Call ledc_fade_start() after this to start fading. @note ledc_set_fade_with_step, ledc_set_fade_with_time and ledc_fade_start are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_fade_step_and_start @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. , @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param scale Controls the increase or decrease step scale. @param cycle_num increase or decrease the duty every cycle_num cycles

@brief Set LEDC fade function, with a limited time. @note Call ledc_fade_func_install() once before calling this function. Call ledc_fade_start() after this to start fading. @note ledc_set_fade_with_step, ledc_set_fade_with_time and ledc_fade_start are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_fade_step_and_start @note If a fade operation is running in progress on that channel, the driver would not allow it to be stopped. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. , @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param max_fade_time_ms The maximum time of the fading ( ms ).

@brief LEDC set channel frequency (Hz)

@brief Set LEDC output gpio. @deprecated This function is redundant, please use ledc_channel_config to set gpio pins.

@brief LEDC stop. Disable LEDC output, and set idle level

@brief LEDC timer configuration Configure LEDC timer with the given source timer/frequency(Hz)/duty_resolution

@brief Pause LEDC timer counter

@brief Resume LEDC timer

@brief Reset LEDC timer

@brief Configure LEDC settings

@brief LEDC update channel parameters @note Call this function to activate the LEDC updated parameters. After ledc_set_duty, we need to call this function to update the settings. And the new LEDC parameters don’t take effect until the next PWM cycle. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t

A hack to make sure that a few patches to the ESP-IDF which are implemented in Rust are linked to the final executable

@brief Get the received length of a linked list, until end of the link or eof.

Generate a linked list pointing to a (huge) buffer in an descriptor array.

\brief Deprecated internal AES block decryption function without return value.

\brief Deprecated internal AES block encryption function without return value.

\brief Checkup routine.

\brief Find a specific named_data entry in a sequence or list based on the OID.

\brief Free a mbedtls_asn1_named_data entry

\brief Free all entries in a mbedtls_asn1_named_data list.

\brief Retrieve an AlgorithmIdentifier ASN.1 sequence. Updates the pointer to immediately behind the full AlgorithmIdentifier.

\brief Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params. Updates the pointer to immediately behind the full AlgorithmIdentifier.

\brief Retrieve a bitstring ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.

\brief Retrieve a bitstring ASN.1 tag without unused bits and its value. Updates the pointer to the beginning of the bit/octet string.

\brief Retrieve a boolean ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.

\brief Retrieve an enumerated ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.

\brief Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.

\brief Get the length of an ASN.1 element. Updates the pointer to immediately behind the length.

\brief Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.

\brief Parses and splits an ASN.1 “SEQUENCE OF ”. Updates the pointer to immediately behind the full sequence tag.

\brief Get the tag and length of the element. Check for the requested tag. Updates the pointer to immediately behind the tag and length.

\brief Free a heap-allocated linked list presentation of an ASN.1 sequence, including the first element.

\brief Traverse an ASN.1 SEQUENCE container and call a callback for each entry.

\brief The generic authenticated decryption (AEAD) function.

\brief The authenticated encryption (AEAD/NIST_KW) function.

\brief The generic authenticated encryption (AEAD) function.

\brief The authenticated encryption (AEAD/NIST_KW) function.

\brief This function checks the tag for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305. This must be called after mbedtls_cipher_finish().

\brief The generic all-in-one encryption/decryption function, for all ciphers except AEAD constructs.

\brief The generic cipher finalization function. If data still needs to be flushed from an incomplete block, the data contained in it is padded to the size of the last block, and written to the \p output buffer.

\brief This function frees and clears the cipher-specific context of \p ctx. Freeing \p ctx itself remains the responsibility of the caller.

\brief This function retrieves the cipher-information structure associated with the given cipher name.

\brief This function retrieves the cipher-information structure associated with the given cipher type.

\brief This function retrieves the cipher-information structure associated with the given cipher ID, key size and mode.

\brief This function initializes a \p cipher_context as NONE.

\brief This function retrieves the list of ciphers supported by the generic cipher module.

\brief This function resets the cipher state.

\brief This function sets the initialization vector (IV) or nonce.

\brief This function sets the padding mode, for cipher modes that use padding.

\brief This function sets the key to use with the given context.

\brief This function initializes a cipher context for use with the given cipher primitive.

\brief The generic cipher update function. It encrypts or decrypts using the given cipher context. Writes as many block-sized blocks of data as possible to output. Any data that cannot be written immediately is either added to the next block, or flushed when mbedtls_cipher_finish() is called. Exception: For MBEDTLS_MODE_ECB, expects a single block in size. For example, 16 Bytes for AES.

\brief This function adds additional data for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305. This must be called exactly once, after mbedtls_cipher_reset().

\brief This function writes a tag for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305. This must be called after mbedtls_cipher_finish().

\brief This function resets CTR_DRBG context to the state immediately after initial call of mbedtls_ctr_drbg_init().

\brief This function initializes the CTR_DRBG context, and prepares it for mbedtls_ctr_drbg_seed() or mbedtls_ctr_drbg_free().

\param p_rng The CTR_DRBG context. This must be a pointer to a #mbedtls_ctr_drbg_context structure. \param output The buffer to fill. \param output_len The length of the buffer in bytes.

\brief This function updates a CTR_DRBG instance with additional data and uses it to generate random data.

\brief This function reseeds the CTR_DRBG context, that is extracts data from the entropy source.

  • The \p custom string.
  • \brief The CTR_DRBG checkup routine.

    \brief This function sets the amount of entropy grabbed on each seed or reseed.

    \brief This function sets the amount of entropy grabbed as a nonce for the initial seeding.

    \brief This function turns prediction resistance on or off. The default value is off.

    \brief This function sets the reseed interval.

    \brief This function updates the state of the CTR_DRBG context.

    \brief This function updates the state of the CTR_DRBG context.

    \brief This function reads and updates a seed file. The seed is added to this instance.

    \brief This function writes a seed file.

    \brief This function derives and exports the shared secret \c (G^Y)^X mod \c P.

    \brief This function frees and clears the components of a DHM context.

    \brief This function initializes the DHM context.

    \brief This function generates a DHM key pair and exports its public part together with the DHM parameters in the format used in a TLS ServerKeyExchange handshake message.

    \brief This function creates a DHM key pair and exports the raw public key in big-endian format.

    \brief This function parses DHM parameters in PEM or DER format.

    \brief This function loads and parses DHM parameters from a file.

    \brief This function parses the DHM parameters in a TLS ServerKeyExchange handshake message (DHM modulus, generator, and public key).

    \brief This function imports the raw public value of the peer.

    \brief The DMH checkup routine.

    \brief This function sets the prime modulus and generator.

    \brief This function derives and exports the shared secret.

    \brief Check whether a given group can be used for ECDH.

    \brief This function computes the shared secret.

    \brief This function frees a context.

    \brief This function generates an ECDH keypair on an elliptic curve.

    \brief This function sets up an ECDH context from an EC key.

    \brief This function initializes an ECDH context.

    \brief This function generates an EC key pair and exports its in the format used in a TLS ServerKeyExchange handshake message.

    \brief This function generates a public key and exports it as a TLS ClientKeyExchange payload.

    \brief This function parses the ECDHE parameters in a TLS ServerKeyExchange handshake message.

    \brief This function parses and processes the ECDHE payload of a TLS ClientKeyExchange message.

    \brief This function sets up the ECDH context with the information given.

    \brief This function checks whether a given group can be used for ECDSA.

    \brief This function frees an ECDSA context.

    \brief This function sets up an ECDSA context from an EC key pair.

    \brief This function generates an ECDSA keypair on the given curve.

    \brief This function initializes an ECDSA context.

    \brief This function reads and verifies an ECDSA signature.

    \brief This function reads and verifies an ECDSA signature, in a restartable way.

    \brief This function computes the ECDSA signature of a previously-hashed message.

    \brief This function computes the ECDSA signature of a previously-hashed message, deterministic version.

    \brief This function computes the ECDSA signature of a previously-hashed message, deterministic version.

    \brief This function verifies the ECDSA signature of a previously-hashed message.

    \brief This function computes the ECDSA signature and writes it to a buffer, serialized as defined in RFC-4492: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS).

    \brief This function computes an ECDSA signature and writes it to a buffer, serialized as defined in RFC-4492: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS).

    \brief This function computes the ECDSA signature and writes it to a buffer, in a restartable way.

    \brief This function checks that an \p mbedtls_mpi is a valid private key for this curve.

    \brief This function checks that the keypair objects \p pub and \p prv have the same group and the same public point, and that the private key in \p prv is consistent with the public key.

    \brief This function checks that a point is a valid public key on this curve.

    \brief This function copies the contents of point \p Q into point \p P.

    \brief This function retrieves curve information from an internal group identifier.

    \brief This function retrieves curve information from a human-readable name.

    \brief This function retrieves curve information from a TLS NamedCurve value.

    \brief This function retrieves the information defined in mbedtls_ecp_curve_info() for all supported curves.

    \brief This function generates an ECP key.

    \brief This function generates an ECP keypair.

    \brief This function generates a keypair with a configurable base point.

    \brief This function generates a private key.

    \brief This function copies the contents of group \p src into group \p dst.

    \brief This function frees the components of an ECP group.

    \brief This function initializes an ECP group context without loading any domain parameters.

    \brief This function sets up an ECP group context from a standardized set of domain parameters.

    \brief This function retrieves the list of internal group identifiers of all supported curves in the order of preference.

    \brief This function checks if a point is the point at infinity.

    \brief This function frees the components of a key pair.

    \brief This function initializes a key pair as an invalid one.

    \brief This function performs a scalar multiplication of a point by an integer: \p R = \p m * \p P.

    \brief This function performs multiplication of a point by an integer: \p R = \p m * \p P in a restartable way.

    \brief This function performs multiplication and addition of two points by integers: \p R = \p m * \p P + \p n * \p Q

    \brief This function performs multiplication and addition of two points by integers: \p R = \p m * \p P + \p n * \p Q in a restartable way.

    \brief This function compares two points.

    \brief This function frees the components of a point.

    \brief This function initializes a point as zero.

    \brief This function imports a point from unsigned binary data.

    \brief This function imports a non-zero point from two ASCII strings.

    \brief This function exports a point into unsigned binary data.

    \brief This function reads an elliptic curve private key.

    \brief The ECP checkup routine.

    \brief This function sets a point to the point at infinity.

    \brief This function sets up an ECP group context from a TLS ECParameters record as defined in RFC 4492, Section 5.4.

    \brief This function extracts an elliptic curve group ID from a TLS ECParameters record as defined in RFC 4492, Section 5.4.

    \brief This function imports a point from a TLS ECPoint record.

    \brief This function exports an elliptic curve as a TLS ECParameters record as defined in RFC 4492, Section 5.4.

    \brief This function exports a point as a TLS ECPoint record defined in RFC 4492, Section 5.4.

    \brief This function exports an elliptic curve private key.

    \brief Adds an entropy source to poll (Thread-safe if MBEDTLS_THREADING_C is enabled)

    \brief Free the data in the context

    \brief Retrieve entropy from the accumulator (Maximum length: MBEDTLS_ENTROPY_BLOCK_SIZE) (Thread-safe if MBEDTLS_THREADING_C is enabled)

    \brief Trigger an extra gather poll for the accumulator (Thread-safe if MBEDTLS_THREADING_C is enabled)

    \brief Initialize the context

    \brief Checkup routine

    \brief Add data to the accumulator manually (Thread-safe if MBEDTLS_THREADING_C is enabled)

    \brief Read and update a seed file. Seed is added to this instance. No more than MBEDTLS_ENTROPY_MAX_SEED_SIZE bytes are read from the seed file. The rest is ignored.

    \brief Write a seed file

    \brief Translate the high-level part of an Mbed TLS error code into a string representation.

    \brief This function processes a single data block within the ongoing SHA-512 computation. This function is for internal use only.

    \brief Translate the low-level part of an Mbed TLS error code into a string representation.

    \brief This function calculates the message-digest of a buffer, with respect to a configurable message-digest algorithm in a single call.

    \brief This function clones the state of an message-digest context.

    \brief This function calculates the message-digest checksum result of the contents of the provided file.

    \brief This function finishes the digest operation, and writes the result to the output buffer.

    \brief This function clears the internal structure of \p ctx and frees any embedded internal structure, but does not free \p ctx itself.

    \brief This function extracts the message-digest name from the message-digest information structure.

    \brief This function extracts the message-digest size from the message-digest information structure.

    \brief This function extracts the message-digest type from the message-digest information structure.

    \brief This function calculates the full generic HMAC on the input buffer with the provided key.

    \brief This function finishes the HMAC operation, and writes the result to the output buffer.

    \brief This function prepares to authenticate a new message with the same key as the previous HMAC operation.

    \brief This function sets the HMAC key and prepares to authenticate a new message.

    \brief This function feeds an input buffer into an ongoing HMAC computation.

    \brief This function returns the message-digest information associated with the given digest name.

    \brief This function returns the message-digest information associated with the given digest type.

    \brief This function initializes a message-digest context without binding it to a particular message-digest algorithm.

    \brief This function selects the message digest algorithm to use, and allocates internal structures.

    \brief This function returns the list of digests supported by the generic digest module.

    \brief This function selects the message digest algorithm to use, and allocates internal structures.

    \brief This function starts a message-digest computation.

    \brief This function feeds an input buffer into an ongoing message-digest computation.

    \brief Perform an unsigned addition of MPIs: X = |A| + |B|

    \brief Perform a signed addition of an MPI and an integer: X = A + b

    \brief Perform a signed addition of MPIs: X = A + B

    \brief Return the number of bits up to and including the most significant bit of value \c 1.

    \brief Compare the absolute values of two MPIs.

    \brief Compare an MPI with an integer.

    \brief Compare two MPIs.

    \brief Make a copy of an MPI.

    \brief Perform a division with remainder of an MPI by an integer: A = Q * b + R

    \brief Perform a division with remainder of two MPIs: A = Q * B + R

    \brief Perform a sliding-window exponentiation: X = A^E mod N

    @brief Perform a sliding-window exponentiation: X = A^E mod N

    \brief Fill an MPI with a number of random bytes.

    \brief This function frees the components of an MPI context.

    \brief Compute the greatest common divisor: G = gcd(A, B)

    \brief Generate a prime number.

    \brief Get a specific bit from an MPI.

    \brief Enlarge an MPI to the specified number of limbs.

    \brief Initialize an MPI context.

    \brief Compute the modular inverse: X = A^-1 mod N

    \brief Perform a Miller-Rabin primality test with error probability of 2-80.

    \brief Miller-Rabin primality test.

    \brief Return the number of bits of value \c 0 before the least significant bit of value \c 1.

    \brief Store integer value in MPI.

    \brief Check if an MPI is less than the other in constant time.

    \brief Perform a modular reduction with respect to an integer. r = A mod b

    \brief Perform a modular reduction. R = A mod B

    \brief Perform a multiplication of an MPI with an unsigned integer: X = A * b

    \brief Perform a multiplication of two MPIs: X = A * B

    Generate a random number uniformly in a range.

    \brief Import an MPI from unsigned big endian binary data.

    \brief Import X from unsigned binary data, little endian

    \brief Read an MPI from a line in an opened file.

    \brief Import an MPI from an ASCII string.

    \brief Perform a safe conditional copy of MPI which doesn’t reveal whether the condition was true or not.

    \brief Perform a safe conditional swap which doesn’t reveal whether the condition was true or not.

    \brief Checkup routine

    \brief Modify a specific bit in an MPI.

    \brief Perform a left-shift on an MPI: X <<= count

    \brief Perform a right-shift on an MPI: X >>= count

    \brief This function resizes an MPI downwards, keeping at least the specified number of limbs.

    \brief Return the total size of an MPI value in bytes.

    \brief Perform an unsigned subtraction of MPIs: X = |A| - |B|

    \brief Perform a signed subtraction of an MPI and an integer: X = A - b

    \brief Perform a signed subtraction of MPIs: X = A - B

    \brief Swap the contents of two MPIs.

    \brief Export X into unsigned binary data, big endian. Always fills the whole buffer, which will start with zeros if the number is smaller.

    \brief Export X into unsigned binary data, little endian. Always fills the whole buffer, which will end with zeros if the number is smaller.

    \brief Export an MPI into an opened file.

    \brief Export an MPI to an ASCII string.

    \brief Accept a connection from a remote client

    \brief Create a receiving socket on bind_ip:port in the chosen protocol. If bind_ip == NULL, all interfaces are bound.

    \brief Closes down the connection and free associated data

    \brief Initiate a connection with host:port in the given protocol

    \brief Gracefully shutdown the connection and free associated data

    \brief Initialize a context Just makes the context ready to be used or freed safely.

    \brief Check and wait for the context to be ready for read/write

    \brief Read at most ‘len’ characters. If no error occurs, the actual amount read is returned.

    \brief Read at most ‘len’ characters, blocking for at most ‘timeout’ seconds. If no error occurs, the actual amount read is returned.

    \brief Write at most ‘len’ characters. If no error occurs, the actual amount read is returned.

    \brief Set the socket blocking

    \brief Set the socket non-blocking

    \brief Portable usleep helper

    \brief Tell if a context can do the operation given by type

    \brief Check if a public-private pair of keys matches.

    \brief Export debug information

    \brief Decrypt message (including padding if relevant).

    \brief Encrypt message (including padding if relevant).

    \brief Free the components of a #mbedtls_pk_context.

    \brief Get the size in bits of the underlying key

    \brief Access the type name

    \brief Get the key type

    \brief Return information associated with the given PK type

    \brief Initialize a #mbedtls_pk_context (as NONE).

    \ingroup pk_module */ \brief Parse a private key in PEM or DER format

    \ingroup pk_module */ \brief Load and parse a private key

    \ingroup pk_module */ \brief Parse a public key in PEM or DER format

    \ingroup pk_module */ \brief Load and parse a public key

    \brief Parse a SubjectPublicKeyInfo DER structure

    \brief Initialize a PK context with the information given and allocates the type-specific PK subcontext.

    \brief Initialize an RSA-alt context

    \brief Make signature, including padding if relevant.

    \brief Restartable version of \c mbedtls_pk_sign()

    \brief Verify signature (including padding if relevant).

    \brief Verify signature, with options. (Includes verification of the padding depending on type.)

    \brief Restartable version of \c mbedtls_pk_verify()

    \brief Write a private key to a PKCS#1 or SEC1 DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer

    \brief Write a private key to a PKCS#1 or SEC1 PEM string

    \brief Write a subjectPublicKey to ASN.1 data Note: function works backwards in data buffer

    \brief Write a public key to a SubjectPublicKeyInfo DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer

    \brief Write a public key to a PEM string

    \brief This function dynamically sets the memory-management functions used by the library, during runtime.

    \brief This function performs any platform-specific initialization operations.

    \brief This function performs any platform teardown operations.

    \brief Securely zeroize a buffer

    \brief This function checks if a context contains an RSA private key and perform basic consistency checks.

    \brief This function checks a public-private RSA key pair.

    \brief This function checks if a context contains at least an RSA public key.

    \brief This function completes an RSA context from a set of imported core parameters.

    \brief This function copies the components of an RSA context.

    \brief This function exports the core parameters of an RSA key.

    \brief This function exports CRT parameters of a private RSA key.

    \brief This function exports core parameters of an RSA key in raw big-endian binary format.

    \brief This function frees the components of an RSA key.

    \brief This function generates an RSA keypair.

    \brief This function retrieves the length of RSA modulus in Bytes.

    \brief This function imports a set of core parameters into an RSA context.

    \brief This function imports core RSA parameters, in raw big-endian binary format, into an RSA context.

    \brief This function initializes an RSA context.

    \brief This function performs an RSA operation, then removes the message padding.

    \brief This function adds the message padding, then performs an RSA operation.

    \brief This function performs a private RSA operation to sign a message digest using PKCS#1.

    \brief This function performs a public RSA operation and checks the message digest.

    \brief This function performs an RSA private key operation.

    \brief This function performs an RSA public key operation.

    \brief This function performs a PKCS#1 v2.1 OAEP decryption operation (RSAES-OAEP-DECRYPT).

    \brief This function performs a PKCS#1 v2.1 OAEP encryption operation (RSAES-OAEP-ENCRYPT).

    \brief This function performs a PKCS#1 v1.5 decryption operation (RSAES-PKCS1-v1_5-DECRYPT).

    \brief This function performs a PKCS#1 v1.5 encryption operation (RSAES-PKCS1-v1_5-ENCRYPT).

    \brief This function performs a PKCS#1 v1.5 signature operation (RSASSA-PKCS1-v1_5-SIGN).

    \brief This function performs a PKCS#1 v1.5 verification operation (RSASSA-PKCS1-v1_5-VERIFY).

    \brief This function performs a PKCS#1 v2.1 PSS signature operation (RSASSA-PSS-SIGN).

    \brief This function performs a PKCS#1 v2.1 PSS signature operation (RSASSA-PSS-SIGN).

    \brief This function performs a PKCS#1 v2.1 PSS verification operation (RSASSA-PSS-VERIFY).

    \brief This function performs a PKCS#1 v2.1 PSS verification operation (RSASSA-PSS-VERIFY).

    \brief The RSA checkup routine.

    \brief This function sets padding for an already initialized RSA context. See mbedtls_rsa_init() for details.

    \brief This function calculates the SHA-512 or SHA-384 checksum of a buffer.

    \brief This function clones the state of a SHA-512 context.

    \brief This function finishes the SHA-512 operation, and writes the result to the output buffer.

    \brief This function finishes the SHA-512 operation, and writes the result to the output buffer.

    \brief This function clears a SHA-512 context.

    \brief This function initializes a SHA-512 context.

    \brief This function processes a single data block within the ongoing SHA-512 computation. This function is for internal use only.

    \brief This function calculates the SHA-512 or SHA-384 checksum of a buffer.

    \brief The SHA-384 or SHA-512 checkup routine.

    \brief This function starts a SHA-384 or SHA-512 checksum calculation.

    \brief This function starts a SHA-384 or SHA-512 checksum calculation.

    \brief This function feeds an input buffer into an ongoing SHA-512 checksum calculation.

    \brief This function feeds an input buffer into an ongoing SHA-512 checksum calculation.

    \brief Check if there is data already read from the underlying transport but not yet processed.

    \brief Check whether a buffer contains a valid and authentic record that has not been seen before. (DTLS only).

    \brief Notify the peer that the connection is being closed

    \brief Set the supported Application Layer Protocols.

    \brief Set the certificate verification mode Default: NONE on server, REQUIRED on client

    \brief Set the data required to verify peer certificate

    \brief Enable / Disable 1/n-1 record splitting (Default: MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED)

    \brief Set the X.509 security profile used for verification

    \brief Whether to send a list of acceptable CAs in CertificateRequest messages. (Default: do send)

    \brief Set the list of allowed ciphersuites and the preference order. First in the list has the highest preference. (Overrides all version-specific lists)

    \brief Set the list of allowed ciphersuites and the preference order for a specific version of the protocol. (Only useful on the server side)

    \brief Set the allowed curves in order of preference. (Default: all defined curves in order of decreasing size, except that Montgomery curves come last. This order is likely to change in a future version.)

    \brief Set the debug callback

    \brief Set the Diffie-Hellman public P and G values, read as hexadecimal strings (server-side only) (Default values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG])

    \brief Set the Diffie-Hellman public P and G values from big-endian binary presentations. (Default values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG]_BIN)

    \brief Set the Diffie-Hellman public P and G values, read from existing context (server-side only)

    \brief Set the minimum length for Diffie-Hellman parameters. (Client-side only.) (Default: 1024 bits.)

    \brief Enable or disable Encrypt-then-MAC (Default: MBEDTLS_SSL_ETM_ENABLED)

    \brief Set the current endpoint type

    \brief Configure key export callback. (Default: none.)

    \brief Configure extended key export callback. (Default: none.)

    \brief Enable or disable Extended Master Secret negotiation. (Default: MBEDTLS_SSL_EXTENDED_MS_ENABLED)

    \brief Set the fallback flag (client-side only). (Default: MBEDTLS_SSL_IS_NOT_FALLBACK).

    \brief Prevent or allow legacy renegotiation. (Default: MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION)

    \brief Set the maximum fragment length to emit and/or negotiate. (Typical: the smaller of #MBEDTLS_SSL_IN_CONTENT_LEN and #MBEDTLS_SSL_OUT_CONTENT_LEN, usually 2^14 bytes) (Server: set maximum fragment length to emit, usually negotiated by the client during handshake) (Client: set maximum fragment length to emit and negotiate with the server during handshake) (Default: #MBEDTLS_SSL_MAX_FRAG_LEN_NONE)

    \brief Set the maximum supported version sent from the client side and/or accepted at the server side (Default: MBEDTLS_SSL_MAX_MAJOR_VERSION, MBEDTLS_SSL_MAX_MINOR_VERSION)

    \brief Set the minimum accepted SSL/TLS protocol version (Default: TLS 1.0)

    \brief Set own certificate chain and private key

    \brief Set the timeout period for mbedtls_ssl_read() (Default: no timeout.)

    \brief Enable / Disable renegotiation support for connection when initiated by peer (Default: MBEDTLS_SSL_RENEGOTIATION_DISABLED)

    \brief Enforce renegotiation requests. (Default: enforced, max_records = 16)

    \brief Set record counter threshold for periodic renegotiation. (Default: 2^48 - 1)

    \brief Set the random number generator callback

    \brief Set the session cache callbacks (server-side only) If not set, no session resuming is done (except if session tickets are enabled too).

    \brief Enable / Disable session tickets (client only). (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.)

    \brief Configure SSL session ticket callbacks (server only). (Default: none.)

    \brief Set the allowed hashes for signatures during the handshake. (Default: all SHA-2 hashes, largest first. Also SHA-1 if the compile-time option MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE is enabled.)

    \brief Set server side ServerName TLS extension callback (optional, server-side only).

    \brief Set the transport type (TLS or DTLS). Default: TLS

    \brief Activate negotiation of truncated HMAC (Default: MBEDTLS_SSL_TRUNC_HMAC_DISABLED)

    \brief Set the verification callback (Optional).

    \brief Load reasonnable default SSL configuration values. (You need to call mbedtls_ssl_config_init() first.)

    \brief Free an SSL configuration context

    \brief Initialize an SSL configuration context Just makes the context ready for mbedtls_ssl_config_defaults() or mbedtls_ssl_config_free().

    \brief Free referenced items in an SSL context and clear memory

    \brief Get the name of the negotiated Application Layer Protocol. This function should be called after the handshake is completed.

    \brief Return the number of application data bytes remaining to be read from the current record.

    \brief Return the name of the current ciphersuite

    \brief Return the ID of the ciphersuite associated with the given name

    \brief Return the name of the ciphersuite associated with the given ID

    \brief Return the maximum fragment length (payload, in bytes) for the input buffer. This is the negotiated maximum fragment length, or, if there is none, MBEDTLS_SSL_MAX_CONTENT_LEN. If it is not defined either, the value is 2^14. This function works as its predecessor, \c mbedtls_ssl_get_max_frag_len().

    \brief This function is a deprecated approach to getting the max fragment length. Its an alias for \c mbedtls_ssl_get_output_max_frag_len(), as the behaviour is the same. See \c mbedtls_ssl_get_output_max_frag_len() for more detail.

    \brief Return the current maximum outgoing record payload in bytes. This takes into account the config.h setting \c MBEDTLS_SSL_OUT_CONTENT_LEN, the configured and negotiated max fragment length extension if used, and for DTLS the path MTU as configured and current record expansion.

    \brief Return the maximum fragment length (payload, in bytes) for the output buffer. For the client, this is the configured value. For the server, it is the minimum of two - the configured value and the negotiated one.

    \brief Return the peer certificate from the current connection.

    \brief Return the (maximum) number of bytes added by the record layer: header + encryption/MAC overhead (inc. padding)

    \brief Save session in order to resume it later (client-side only) Session data is copied to presented session structure.

    \brief Get a pointer to the current session structure, for example to serialize it.

    \brief Return the result of the certificate verification

    \brief Return the current SSL version (SSLv3/TLSv1/etc)

    \brief Perform the SSL handshake

    \brief Perform a single step of the SSL handshake

    \brief Initialize an SSL context Just makes the context ready for mbedtls_ssl_setup() or mbedtls_ssl_free()

    \brief Read at most ‘len’ application data bytes

    \brief Initiate an SSL renegotiation on the running connection. Client: perform the renegotiation right now. Server: request renegotiation, which will be performed during the next call to mbedtls_ssl_read() if honored by client.

    \brief Send an alert message

    \brief Free referenced items in an SSL session including the peer certificate and clear memory

    \brief Initialize SSL session structure

    \brief Load serialized session data into a session structure. On client, this can be used for loading saved sessions before resuming them with mbedstls_ssl_set_session(). On server, this can be used for alternative implementations of session cache or session tickets.

    \brief Reset an already initialized SSL context for re-use while retaining application-set variables, function pointers and data.

    \brief Save session structure as serialized data in a buffer. On client, this can be used for saving session data, potentially in non-volatile storage, for resuming later. On server, this can be used for alternative implementations of session cache or session tickets.

    \brief Set the underlying BIO callbacks for write, read and read-with-timeout.

    \brief Set or reset the hostname to check against the received server certificate. It sets the ServerName TLS extension, too, if that extension is enabled. (client-side only)

    \brief Set authmode for the current handshake.

    \brief Set the data required to verify peer certificate for the current handshake

    \brief Set own certificate and key for the current handshake

    \brief Request resumption of session (client-side only) Session data is copied from presented session structure.

    \brief Set the timer callbacks (Mandatory for DTLS.)

    \brief Set a connection-specific verification callback (optional).

    \brief Set up an SSL context for use

    \brief TLS-PRF function for key derivation.

    \brief Try to write exactly ‘len’ application data bytes

    \brief Translate a mbed TLS error code into a string representation, Result is truncated if necessary and always includes a terminating null byte.

    \brief Unallocate all CRL data

    \brief Returns an informational string about the CRL.

    \brief Initialize a CRL (chain)

    \brief Parse one or more CRLs and append them to the chained list

    \brief Parse a DER-encoded CRL and append it to the chained list

    \brief Load one or more CRLs and append them to the chained list

    \brief Check usage of certificate against extendedKeyUsage.

    \brief Check usage of certificate against keyUsage extension.

    \brief Unallocate all certificate data

    \brief Returns an informational string about the certificate.

    \brief Initialize a certificate (chain)

    \brief Verify the certificate revocation status

    \brief Parse one DER-encoded or one or more concatenated PEM-encoded certificates and add them to the chained list.

    \brief Parse a single DER formatted certificate and add it to the end of the provided chained list.

    \brief Parse a single DER formatted certificate and add it to the end of the provided chained list. This is a variant of mbedtls_x509_crt_parse_der() which takes temporary ownership of the CRT buffer until the CRT is destroyed.

    \brief Parse a single DER formatted certificate and add it to the end of the provided chained list.

    \brief Load one or more certificates and add them to the chained list. Parses permissively. If some certificates can be parsed, the result is the number of failed certificates it encountered. If none complete correctly, the first error is returned.

    \brief Load one or more certificate files from a path and add them to the chained list. Parses permissively. If some certificates can be parsed, the result is the number of failed certificates it encountered. If none complete correctly, the first error is returned.

    \brief Verify a chain of certificates.

    \brief Returns an informational string about the verification status of a certificate.

    \brief Restartable version of \c mbedtls_crt_verify_with_profile()

    \brief Verify a chain of certificates with respect to a configurable security profile.

    \brief Store the certificate DN in printable form into buf; no more than size characters will be written.

    \brief This function parses an item in the SubjectAlternativeNames extension.

    \brief Checkup routine

    \brief Store the certificate serial in printable form into buf; no more than size characters will be written.

    \brief Check a given mbedtls_x509_time against the system time and tell if it’s in the future.

    \brief Check a given mbedtls_x509_time against the system time and tell if it’s in the past.

    \brief Write a built up certificate to a X509 DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer

    \brief Free the contents of a CRT write context

    \brief Initialize a CRT writing context

    \brief Write a built up certificate to a X509 PEM string

    \brief Set the authorityKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_issuer_key() has been called before

    \brief Set the basicConstraints extension for a CRT

    \brief Generic function to add to or replace an extension in the CRT

    \brief Set the issuer key used for signing the certificate

    \brief Set the issuer name for a Certificate Issuer names should contain a comma-separated list of OID types and values: e.g. “C=UK,O=ARM,CN=mbed TLS CA”

    \brief Set the Key Usage Extension flags (e.g. MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_KEY_CERT_SIGN)

    \brief Set the MD algorithm to use for the signature (e.g. MBEDTLS_MD_SHA1)

    \brief Set the Netscape Cert Type flags (e.g. MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT | MBEDTLS_X509_NS_CERT_TYPE_EMAIL)

    \brief Set the serial number for a Certificate.

    \brief Set the subject public key for the certificate

    \brief Set the subjectKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_subject_key() has been called before

    \brief Set the subject name for a Certificate Subject names should contain a comma-separated list of OID types and values: e.g. “C=UK,O=ARM,CN=mbed TLS Server 1”

    \brief Set the validity period for a Certificate Timestamps should be in string format for UTC timezone i.e. “YYYYMMDDhhmmss” e.g. “20131231235959” for December 31st 2013 at 23:59:59

    \brief Set the verion for a Certificate Default: MBEDTLS_X509_CRT_VERSION_3

    @brief Adds a hostname and address to be delegated A/AAAA queries will be replied for the hostname and services can be added to this host.

    @brief Remove a delegated hostname All the services added to this host will also be removed.

    @brief Stop and free mDNS server

    @brief System event handler This method controls the service state on all active interfaces and applications are required to call it from the system event handler for normal operation of mDNS service.

    @brief Query whether a hostname has been added

    @brief Set the hostname for mDNS server required if you want to advertise services

    @brief Initialize mDNS on given interface

    @brief Set the default instance name for mDNS server

    @brief Query mDNS for host or service All following query methods are derived from this one

    @brief Query mDNS for A record

    @brief Query mDNS for A record

    @brief Deletes the finished query. Call this only after the search has ended!

    @brief Get results from search pointer. Results available as a pointer to the output parameter. Pointer to search object has to be deleted via mdns_query_async_delete once the query has finished. The results although have to be freed manually.

    @brief Query mDNS for host or service asynchronousely. Search has to be tested for progress and deleted manually!

    @brief Query mDNS for service

    @brief Free query results

    @brief Query mDNS for SRV record

    @brief Query mDNS for TXT record

    @brief Add service to mDNS server

    @brief Add service to mDNS server with a delegated hostname

    @brief Check whether a service has been added.

    @brief Check whether a service has been added.

    @brief Set instance name for service

    @brief Set instance name for service with hostname

    @brief Set service port

    @brief Set service port with hostname

    @brief Remove service from mDNS server

    @brief Remove and free all services from mDNS server

    @brief Remove service from mDNS server with hostname

    @brief Remove TXT item for service TXT record

    @brief Remove TXT item for service TXT record with hostname

    @brief Set/Add TXT item for service TXT record

    @brief Set/Add TXT item for service TXT record with hostname

    @brief Set/Add TXT item for service TXT record with hostname and txt value length

    @brief Set/Add TXT item for service TXT record

    @brief Replace all TXT items for service

    @brief Replace all TXT items for service with hostname

    @brief allocate a chunk of memory with specific alignment

    @brief free() a buffer aligned in a given heap.

    @brief Check heap integrity

    @brief Dump heap information to stdout

    @brief free() a buffer in a given heap.

    @brief Return free heap size

    @brief Return the size that a particular pointer was allocated with.

    @brief Return metadata about a given heap

    @brief malloc() a buffer in a given heap

    @brief Return the lifetime minimum free heap size

    @brief realloc() a buffer in a given heap.

    @brief Register a new heap for use

    @brief Associate a private lock pointer with a heap

    @brief Close the storage handle and free any allocated resources

    @brief Write any pending changes to non-volatile storage

    @brief Create an iterator to enumerate NVS entries based on one or more parameters

    @brief Fills nvs_entry_info_t structure with information about entry pointed to by the iterator.

    @brief Returns next item matching the iterator criteria, NULL if no such item exists.

    @brief Erase all key-value pairs in a namespace

    @brief Erase key-value pair with given key name.

    @brief Deinitialize NVS storage for the default NVS partition

    @brief Deinitialize NVS storage for the given NVS partition

    @brief Erase the default NVS partition

    @brief Erase specified NVS partition

    @brief Erase custom partition.

    @brief Generate and store NVS keys in the provided esp partition

    @brief Initialize the default NVS partition.

    @brief Initialize NVS flash storage for the specified partition.

    @brief Initialize NVS flash storage for the partition specified by partition pointer.

    @brief Read NVS security configuration from a partition.

    @brief Initialize the default NVS partition.

    @brief Initialize NVS flash storage for the specified partition.

    @brief get blob value for given key

    @{*/ @brief get int8_t value for given key

    @brief get int16_t value for given key

    @brief get int32_t value for given key

    @brief get int64_t value for given key

    @brief Fill structure nvs_stats_t. It provides info about used memory the partition.

    @{*/ @brief get string value for given key

    @brief get uint8_t value for given key

    @brief get uint16_t value for given key

    @brief get uint32_t value for given key

    @brief get uint64_t value for given key

    @brief Calculate all entries in a namespace.

    @brief Open non-volatile storage with a given namespace from the default NVS partition

    @brief Open non-volatile storage with a given namespace from specified partition

    @brief Release iterator

    @brief set variable length binary value for given key

    @{*/ @brief set int8_t value for given key

    @brief set int16_t value for given key

    @brief set int32_t value for given key

    @brief set int64_t value for given key

    @brief set string for given key

    @brief set uint8_t value for given key

    @brief set uint16_t value for given key

    @brief set uint32_t value for given key

    @brief set uint64_t value for given key

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} char *pcTaskGetName( TaskHandle_t xTaskToQuery ); @endcode @endcond

    @brief disable peripheral module

    @brief enable peripheral module

    @brief reset peripheral module

    @brief Add endpoint request handler for a protocomm instance

    @brief Start Bluetooth Low Energy based transport layer for provisioning

    @brief Stop Bluetooth Low Energy based transport layer for provisioning

    @brief Frees internal resources used by a transport session

    @brief Delete a protocomm instance

    @brief Start HTTPD protocomm transport

    @brief Stop HTTPD protocomm transport

    @brief Create a new protocomm instance

    @brief Allocates internal resources for new transport session

    @brief Remove endpoint request handler for a protocomm instance

    @brief Calls the registered handler of an endpoint session for processing incoming data and generating the response

    @brief Add endpoint security for a protocomm instance

    @brief Set endpoint for version verification

    @brief Remove endpoint security for a protocomm instance

    @brief Remove version verification endpoint from a protocomm instance

    Get local storage pointer specific to the given task.

    Returns the start of the stack associated with xTask.

    @brief Add channel into a synchronous group (channels in the same group can start transaction simultaneously)

    @brief Clear mask value to RMT interrupt enable register.

    @brief Configure RMT parameters

    @brief Initialize RMT driver

    @brief Uninstall RMT driver.

    @brief Enable or disable the feature that when loop count reaches the threshold, RMT will stop transmitting.

    @brief Fill memory data of channel with given RMT items.

    @brief Get the current status of eight channels.

    @brief Get RMT clock divider, channel clock is divided from source clock.

    @brief Get speed of channel’s internal counter clock.

    @brief Get RMT idle output level for transmitter

    @brief Get RMT memory block number

    @brief Get RMT memory low power mode.

    @brief Get RMT memory owner.

    @brief Get ringbuffer from RMT.

    @brief Get RMT idle threshold value.

    @brief Get RMT source clock

    @brief Get RMT status

    @brief Get RMT tx loop mode.

    @brief Deregister previously registered RMT interrupt handler

    @brief Register RMT interrupt handler, the handler is an ISR.

    @brief Reset RMT TX/RX memory index.

    @brief Registers a callback that will be called when transmission ends.

    @brief Remove channel out of a group

    @brief Reset RMT RX memory

    @brief Set RMT start receiving data.

    @brief Set RMT stop receiving data.

    @brief Set RMT clock divider, channel clock is divided from source clock.

    @brief Set RMT RX error interrupt enable

    @brief Configure the GPIO used by RMT channel

    @brief Set RMT idle output level for transmitter

    @brief Set mask value to RMT interrupt enable register.

    @brief Set RMT memory block number for RMT channel

    @brief Set RMT memory in low power mode.

    @brief Set RMT memory owner. @note Setting memroy is only valid for RX channel.

    @brief Set RMT pin

    @brief Set RMT RX filter.

    @brief Set RMT RX idle threshold value

    @brief Set RMT RX interrupt enable

    @brief Set RMT RX threshold event interrupt enable

    @brief Set RMT source clock

    @brief Configure RMT carrier for TX signal.

    @brief Set RMT TX interrupt enable

    @brief Set loop count threshold value for RMT TX channel

    @brief Set RMT tx loop mode.

    @brief Set RMT TX threshold event interrupt enable

    @brief Get the user context set by ‘rmt_translator_set_context’

    @brief Init rmt translator and register user callback. The callback will convert the raw data that needs to be sent to rmt format. If a channel is initialized more than once, tha user callback will be replaced by the later.

    @brief Set user context for the translator of specific channel

    @brief Reset RMT TX memory

    @brief Set RMT start sending data from memory.

    @brief Set RMT stop sending.

    @brief Wait RMT TX finished.

    @brief RMT send waveform from rmt_item array.

    @brief Translate uint8_t type of data into rmt format and send it out. Requires rmt_translator_init to init the translator first.

    @brief Fetch entry from RTC memory and RTC STORE reg

    @brief Enable or disable 8 MHz internal oscillator

    @brief Get the state of 8 MHz internal oscillator @return true if the oscillator is enabled

    @brief Get the state of /256 divider which is applied to 8MHz clock @return true if the divided output is enabled

    @brief Enable 32k oscillator, configuring it for fast startup time. Note: to achieve higher frequency stability, rtc_clk_32k_enable function must be called one the 32k XTAL oscillator has started up. This function will initially disable the 32k XTAL oscillator, so it should not be called when the system is using 32k XTAL as RTC_SLOW_CLK.

    @brief Enable or disable 32 kHz XTAL oscillator @param en true to enable, false to disable

    @brief Configure 32 kHz XTAL oscillator to accept external clock signal

    @brief Get the state of 32k XTAL oscillator @return true if 32k XTAL oscillator has been enabled

    @brief Get the current stored APB frequency. @return The APB frequency value as last set via rtc_clk_apb_freq_update(), in Hz.

    @brief Store new APB frequency value into RTC_APB_FREQ_REG

    @brief Enable or disable APLL

    @brief Measure RTC slow clock’s period, based on main XTAL frequency

    @brief Measure ratio between XTAL frequency and RTC slow clock frequency @param cal_clk slow clock to be measured @param slow_clk_cycles number of slow clock cycles to average @return average ratio between XTAL frequency and slow clock frequency, Q13.19 fixed point format, or 0 if calibration has timed out.

    @brief Get the currently used CPU frequency configuration @param[out] out_config Output, CPU frequency configuration structure

    @brief Get CPU frequency config for a given frequency @param freq_mhz Frequency in MHz @param[out] out_config Output, CPU frequency configuration structure @return true if frequency can be obtained, false otherwise

    @brief Switch CPU frequency

    @brief Switch CPU frequency (optimized for speed)

    @brief Switch CPU clock source to XTAL

    @brief Get the RTC_FAST_CLK source @return currently selected clock source (one of rtc_fast_freq_t values)

    @brief Select source for RTC_FAST_CLK @param fast_freq clock source (one of rtc_fast_freq_t values)

    @brief Calculate the real clock value after the clock calibration

    Initialize clocks and set CPU frequency

    @brief Get the RTC_SLOW_CLK source @return currently selected clock source (one of rtc_slow_freq_t values)

    @brief Get the approximate frequency of RTC_SLOW_CLK, in Hz

    @brief Select source for RTC_SLOW_CLK @param slow_freq clock source (one of rtc_slow_freq_t values)

    @brief Busy loop until next RTC_SLOW_CLK cycle

    @brief Get main XTAL frequency

    @brief Update XTAL frequency

    @brief Enter deep sleep mode

    @brief Disable the rtc digital 8M clock

    @brief Enable the rtc digital 8M clock

    @brief Get the reset reason for CPU.

    @brief Get the wakeup cause for CPU.

    Initialize RTC clock and power control related functions @param cfg configuration options as rtc_config_t

    @brief Deregister the handler previously registered using rtc_isr_register @param handler handler function to call (as passed to rtc_isr_register) @param handler_arg argument of the handler (as passed to rtc_isr_register) @return - ESP_OK on success - ESP_ERR_INVALID_STATE if a handler matching both handler and handler_arg isn’t registered

    @brief Register a handler for specific RTC_CNTL interrupts

    @brief Prepare the chip to enter sleep mode

    @brief Low level initialize for rtc state machine waiting cycles after waking up

    @brief Set target value of RTC counter for RTC_TIMER_TRIG_EN wakeup source @param t value of RTC counter at which wakeup from sleep will happen; only the lower 48 bits are used

    @brief Enter deep or light sleep mode

    @brief Get current value of RTC counter

    @brief Convert time interval from RTC_SLOW_CLK to microseconds @param time_in_us Time interval in RTC_SLOW_CLK cycles @param slow_clk_period Period of slow clock in microseconds, Q13.19 fixed point format (as returned by rtc_slowck_cali). @return time interval in microseconds

    @brief Convert time interval from microseconds to RTC_SLOW_CLK cycles @param time_in_us Time interval in microseconds @param slow_clk_period Period of slow clock in microseconds, Q13.19 fixed point format (as returned by rtc_slowck_cali). @return number of slow clock cycles

    Get current VDDSDIO configuration If VDDSDIO configuration is overridden by RTC, get values from RTC Otherwise, if VDDSDIO is configured by EFUSE, get values from EFUSE Otherwise, use default values and the level of MTDI bootstrapping pin. @return currently used VDDSDIO configuration

    Set new VDDSDIO configuration using RTC registers. If config.force == 1, this overrides configuration done using bootstrapping pins and EFUSE.

    Probe and initialize SD/MMC card using given host

    @brief Print information about the card to a stream @param stream stream obtained using fopen or fdopen @param card card information structure initialized using sdmmc_card_init

    Get status of SD/MMC card

    Enable SDIO interrupt in the SDMMC host

    Get the data of CIS region of an SDIO card.

    Parse and print the CIS information of an SDIO card.

    Read blocks of data from an SDIO card using IO_RW_EXTENDED (CMD53)

    Read one byte from an SDIO card using IO_RW_DIRECT (CMD52)

    Read multiple bytes from an SDIO card using IO_RW_EXTENDED (CMD53)

    Block until an SDIO interrupt is received

    Write blocks of data to an SDIO card using IO_RW_EXTENDED (CMD53)

    Write one byte to an SDIO card using IO_RW_DIRECT (CMD52)

    Write multiple bytes to an SDIO card using IO_RW_EXTENDED (CMD53)

    Read given number of sectors from the SD/MMC card

    Write given number of sectors to SD/MMC card

    @brief Release resources allocated using sdspi_host_init

    @brief Send command to the card and get response

    @brief Initialize SD SPI driver

    @brief Attach and initialize an SD SPI device on the specific SPI bus

    @brief Initialize SD SPI driver for the specific SPI controller

    @brief Enable SDIO interrupt.

    @brief Wait for SDIO interrupt until timeout.

    @brief Remove an SD SPI device

    @brief Set card clock frequency

    @brief Set CRC of Fast RTC memory 0-0x7ff into RTC STORE7.

    @brief Configure Sigma-delta channel

    @brief Set Sigma-delta channel duty.

    @brief Set Sigma-delta signal output pin

    @brief Set Sigma-delta channel’s clock pre-scale value. The source clock is APP_CLK, 80MHz. The clock frequency of the sigma-delta channel is APP_CLK / pre_scale

    @brief Get the sync interval of SNTP operation

    @brief Get set sync mode

    @brief Get status of time sync

    @brief system time getter used in the sntp module @note The lwip sntp uses u32_t types for sec and us arguments

    @brief Restart SNTP

    @brief Set the sync interval of SNTP operation

    @brief Set the sync mode

    @brief Set status of time sync

    @brief system time setter used in the sntp module @note The lwip sntp uses u32_t types for sec and us arguments

    @brief Set a callback function for time synchronization notification

    @brief This function updates the system time.

    @brief Software Reset digital core.

    @brief Software Reset digital core.

    @brief Allocate a device on a SPI bus

    @brief Free a SPI bus

    @brief Initialize a SPI bus

    @brief Remove a device from the SPI bus

    @brief Calculate the working frequency that is most close to desired frequency, and also the register value.

    @brief Occupy the SPI bus for a device to do continuous transactions.

    @brief Get the result of a SPI transaction queued earlier by spi_device_queue_trans.

    @brief Poll until the polling transaction ends.

    @brief Immediately start a polling transaction.

    @brief Send a polling transaction, wait for it to complete, and return the result

    @brief Queue a SPI transaction for interrupt transaction execution. Get the result by spi_device_get_trans_result.

    @brief Release the SPI bus occupied by the device. All other devices can start sending transactions.

    @brief Send a SPI transaction, wait for it to complete, and return the result

    @brief Given a memory address where flash is mapped, return the corresponding physical flash offset.

    @brief Check at runtime if flash cache is enabled on both CPUs

    @brief Re-enable cache for the core defined as cpuid parameter.

    @brief Erase a range of flash sectors

    @brief Erase the Flash sector.

    @brief Get flash chip size, as set in binary image header

    @brief Get the guard functions used for flash access

    @brief Sets guard functions to access flash.

    @brief Initialize SPI flash access driver

    @brief Map region of flash memory into data or instruction address space

    @brief Display information about mapped regions

    @brief get free pages number which can be mmap

    @brief Map sequences of pages of flash memory into data or instruction address space

    @brief Release region previously obtained using spi_flash_mmap

    @brief Given a physical offset in flash, return the address where it is mapped in the memory space.

    @brief Read data from Flash.

    @brief Read data from Encrypted Flash.

    @brief set wrap mode of flash

    @brief Write data to Flash.

    @brief Write data encrypted to Flash.

    @brief Calculate the working frequency that is most close to desired frequency.

    @brief Get the frequency limit of current configurations. SPI master working at this limit is OK, while above the limit, full duplex mode and DMA will not work, and dummy bits will be aplied in the half duplex mode.

    @brief Calculate the timing settings of specified frequency and settings.

    @brief Free a SPI bus claimed as a SPI slave interface

    @brief Get the result of a SPI transaction queued earlier

    @brief Initialize a SPI bus as a slave interface

    @brief Queue a SPI transaction for execution

    @brief Do a SPI transaction

    @brief Wait for transmission of output

    @brief Suspend or restart the transmission or reception of data

    @brief Flush non-transmitted output data and non-read input data

    @brief Gets the parameters of the terminal

    @brief Get process group ID for session leader for controlling terminal

    @brief Compatible version of network stack input function. Translates to esp_netif_receive()

    @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default softAP

    @brief Compatible version of former tcpip_adapter API to clear default ethernet handlers @return ESP_OK on success

    @brief Compatible version of former tcpip_adapter API to clear default WIFI handlers @return ESP_OK on success

    @brief Translates to esp_netif_create_ip6_linklocal @param tcpip_if Interface type corresponding to appropriate instance of esp-netif @return see esp_netif_create_ip6_linklocal

    @brief`Translates to esp_netif_dhcpc_get_status @param tcpip_if Interface type corresponding to appropriate instance of esp-netif @param status @return See esp_netif_dhcpc_get_status

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_option

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_start

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcpc_stop

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_get_status

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_option

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_start

    @brief Compatible version of former tcpip_adapter API of esp_netif_dhcps_stop

    @brief Compatible version of former tcpip_adapter API of esp_netif_down

    @brief Compatible version of network stack input function. Translates to esp_netif_receive()

    @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default ethernet

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_dns_info

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_handle_from_netif_impl

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_hostname

    @brief Translates to esp_netif_get_ip6_global

    @brief Translates to esp_netif_get_ip6_linklocal

    @brief Translates to esp_netif_get_ip_info

    @brief Translates to esp_netif_get_netif @param tcpip_if Interface type corresponding to appropriate instance of esp-netif @param netif @return see esp_netif_get_netif

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_netif_impl_index

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_old_ip_info

    @brief Compatible version of former tcpip_adapter API of esp_netif_get_sta_list

    @brief Compatiblity mode: convert the esp-netif handle to tcpip_adapter legacy interface enum

    @brief tcpip adapter legacy init. It is used only to set the compatibility mode of esp-netif, which will enable backward compatibility of esp-netif.

    @brief Translates to esp_netif_is_netif_up @param tcpip_if Interface type corresponding to appropriate instance of esp-netif @return see esp_netif_is_netif_up

    @brief Compatible version of setting ethernet default handlers @note Compatible version of wifi handlers are provided in a separate header, as this used to be called privately from wifi_init() @return ESP_OK on success

    @brief This function is called from wifi_init to assure backward compatibility mode of tcpip_adapter. In case of legacy use, default instances of ap and sta are created and handlers are registered

    @brief Compatible version of former tcpip_adapter API of esp_netif_set_dns_info

    @brief Compatible version of former tcpip_adapter API of esp_netif_set_hostname

    @brief Compatible version of former tcpip_adapter API of esp_netif_set_ip_info

    @brief Compatible version of former tcpip_adapter API of esp_netif_set_old_ip_info

    @brief Compatible version of network stack input function. Translates to esp_netif_receive()

    @brief Compatible version of former tcpip_adapter API of esp_netif_action_start for default station

    @brief Compatible version of former tcpip_adapter API of esp_netif_action_stop

    @brief Compatible version of former tcpip_adapter API of esp_netif_up

    @brief Send a break for a specific duration

    @brief Sets the parameters of the terminal

    @brief Deinitializes the timer.

    @brief Disable timer interrupt

    @brief Enable timer interrupt

    @brief Get timer alarm value.

    @brief Get timer configure value.

    @brief Read the counter value of hardware timer, in unit of a given scale.

    @brief Read the counter value of hardware timer.

    @brief Clear the masked interrupt status, just used in ISR

    @brief Clear timer interrupt status, just used in ISR

    @brief Enable alarm interrupt, just used in ISR

    @brief Get auto reload enable status, just used in ISR

    @brief Get the current counter value, just used in ISR

    @brief Get interrupt status, just used in ISR

    @brief Clear timer interrupt status, just used in ISR

    @brief Disable timer group interrupt, by disable mask

    @brief Enable timer group interrupt, by enable mask

    @brief Get the masked interrupt status, just used in ISR

    @brief Set the alarm threshold for the timer, just used in ISR

    @brief Enable/disable a counter, just used in ISR

    @brief Initializes and configure the timer.

    @brief Add ISR handle callback for the corresponding timer.

    @brief Remove ISR handle callback for the corresponding timer.

    @brief Register Timer interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.

    @brief Pause the counter of hardware timer.

    @brief Enable or disable generation of timer alarm events.

    @brief Set timer alarm value.

    @brief Enable or disable counter reload function when alarm event occurs.

    @brief Set counting mode for hardware timer.

    @brief Set counter value to hardware timer.

    @brief Set hardware divider of the source clock to the timer group. By default, the source clock is APB clock running at 80 MHz. For more information, please check Chapter Reset and Clock in Chip Technical Reference Manual. @param group_num Timer group number, 0 for TIMERG0 or 1 for TIMERG1 @param timer_num Timer index, 0 for hw_timer[0] & 1 for hw_timer[1] @param divider Timer clock divider value. The divider’s range is from from 2 to 65536.

    @brief Give timer spinlock to exit critical protect

    @brief Take timer spinlock to enter critical protect

    @brief Start the counter of hardware timer.

    @brief Clear the receive queue

    @brief Clear the transmit queue

    @brief Install TWAI driver

    @brief Uninstall the TWAI driver

    @brief Get current status information of the TWAI driver

    @brief Start the bus recovery process

    @brief Read TWAI driver alerts

    @brief Receive a TWAI message

    @brief Reconfigure which alerts are enabled

    @brief Start the TWAI driver

    @brief Stop the TWAI driver

    @brief Transmit a TWAI message

    @brief Clear UART interrupt status

    @brief Clear UART interrupt enable bits

    @brief UART disable pattern detect function. Designed for applications like ‘AT commands’. When the hardware detects a series of one same character, the interrupt will be triggered.

    @brief Disable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)

    @brief Disable UART TX interrupt (TXFIFO_EMPTY INTERRUPT)

    @brief Uninstall UART driver.

    @brief Install UART driver and set the UART to the default configuration.

    @brief Set UART interrupt enable

    @brief UART enable pattern detect function. Designed for applications like ‘AT commands’. When the hardware detect a series of one same character, the interrupt will be triggered.

    @brief Enable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)

    @brief Enable UART TX interrupt (TXFIFO_EMPTY INTERRUPT)

    @brief Alias of uart_flush_input. UART ring buffer flush. This will discard all data in the UART RX buffer. @note Instead of waiting the data sent out, this function will clear UART rx buffer. In order to send all the data in tx FIFO, we can use uart_wait_tx_done function. @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).

    @brief Clear input buffer, discard all the data is in the ring-buffer. @note In order to send all the data in tx FIFO, we can use uart_wait_tx_done function. @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).

    @brief Get the UART baud rate configuration.

    @brief UART get RX ring buffer cached data length

    @brief Returns collision detection flag for RS485 mode Function returns the collision detection flag into variable pointed by collision_flag. *collision_flag = true, if collision detected else it is equal to false. This function should be executed when actual transmission is completed (after uart_write_bytes()).

    @brief Get the UART hardware flow control configuration.

    @brief Get the UART parity mode configuration.

    @brief Get mutex guarding select() notifications

    @brief Get the UART stop bit configuration.

    @brief Get the number of RX pin signal edges for light sleep wakeup.

    @brief Get the UART data bit configuration.

    @brief Configure UART interrupts.

    @brief Checks whether the driver is installed or not

    @brief Free UART interrupt handler registered by uart_isr_register. Must be called on the same core as uart_isr_register was called.

    @brief Register UART interrupt handler (ISR).

    @brief Set UART configuration parameters.

    @brief Return the nearest detected pattern position in buffer. The positions of the detected pattern are saved in a queue, This function do nothing to the queue. @note If the RX buffer is full and flow control is not enabled, the detected pattern may not be found in the rx buffer due to overflow.

    @brief Return the nearest detected pattern position in buffer. The positions of the detected pattern are saved in a queue, this function will dequeue the first pattern position and move the pointer to next pattern position. @note If the RX buffer is full and flow control is not enabled, the detected pattern may not be found in the rx buffer due to overflow.

    @brief Allocate a new memory with the given length to save record the detected pattern position in rx buffer.

    @brief UART read bytes from UART buffer

    @brief Configure behavior of UART RX timeout interrupt.

    @brief Set UART baud rate.

    @brief Manually set the UART DTR pin level.

    @brief Set hardware flow control.

    @brief Set UART line inverse mode

    @brief Configure TX signal loop back to RX module, just for the test usage.

    @brief UART set communication mode

    @brief Set UART parity mode.

    @brief Assign signals of a UART peripheral to GPIO pins

    @brief Manually set the UART RTS pin level. @note UART must be configured with hardware flow control disabled.

    @brief Set uart threshold value for RX fifo full @note If application is using higher baudrate and it is observed that bytes in hardware RX fifo are overwritten then this threshold can be reduced

    @brief UART set threshold timeout for TOUT feature

    @brief Set notification callback function for select() events @param uart_num UART port number @param uart_select_notif_callback callback function

    @brief Set UART stop bits.

    @brief Set software flow control.

    @brief Set uart threshold values for TX fifo empty

    @brief Set UART idle interval after tx FIFO is empty

    @brief Set the number of RX pin signal edges for light sleep wakeup

    @brief Set UART data bits.

    @brief Send data to the UART port from a given buffer and length.

    @brief Wait until UART TX FIFO is empty.

    @brief Wait until UART tx memory empty and the last char send ok (polling mode).

    @brief Send data to the UART port from a given buffer and length,

    @brief Send data to the UART port from a given buffer and length,

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint32_t ulTaskNotifyTakeIndexed( UBaseType_t uxIndexToWaitOn, BaseType_t xClearCountOnExit, TickType_t xTicksToWait );

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint32_t ulTaskNotifyValueClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear );

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code uint32_t ulTaskGetIdleRunTimeCounter( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint16_t uxTaskGetNumberOfTasks( void ); @endcode @endcond

    Returns the high water mark of the stack associated with xTask.

    Returns the start of the stack associated with xTask.

    configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for uxTaskGetSystemState() to be available.

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) @endcode @endcond This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB. This function is required when configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION

    @brief Hook function called on entry to tickless idle

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); @endcode @endcond The application stack overflow hook is called when a stack overflow is detected for a task.

    @brief Clear current interrupt mask and set given mask

    @brief Enter a critical section

    @brief Exit a critical section

    @brief Set interrupt mask and return current interrupt enable register

    @brief Set a watchpoint to watch the last 32 bytes of the stack

    @brief Perform a context switch from a task

    @brief Perform a context switch from an ISR

    @brief Yields the other core

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} void vQueueDelete( QueueHandle_t xQueue ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION

    @brief Delete a ring buffer

    @brief Get information about ring buffer status

    @brief Return a previously-retrieved item to the ring buffer

    @brief Return a previously-retrieved item to the ring buffer from an ISR

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const pxRegions ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskDelay( const TickType_t xTicksToDelay ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskDelete( TaskHandle_t xTask ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskEndScheduler( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken ); void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ); @endcode @endcond

    Get the state of running tasks as a string

    List all the current tasks.

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskResume( TaskHandle_t xTaskToResume ); @endcode @endcond

    Set local storage pointer specific to the given task.

    Set local storage pointer and deletion callback.

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION */ @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskStartScheduler( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskSuspend( TaskHandle_t xTaskToSuspend ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskSuspendAll( void ); @endcode @endcond

    @brief disable wifi bt common module

    @brief enable wifi bt common module

    @brief Callocate memory for WiFi driver

    @brief Allocate a chunk of memory for WiFi driver

    @brief disable wifi module

    @brief enable wifi module

    @brief Handler for receiving and responding to requests from master

    @brief Runs Wi-Fi as Station with the supplied configuration

    @brief Stop provisioning (if running) and release resource used by the manager

    @brief Disable auto stopping of provisioning service upon completion

    @brief Create an additional endpoint and allocate internal resources for it

    @brief Register a handler for the previously created endpoint

    @brief Unregister the handler for an endpoint

    @brief Event handler for provisioning manager

    @brief Get reason code in case of Wi-Fi station disconnection during provisioning

    @brief Get state of Wi-Fi Station during provisioning

    @brief Initialize provisioning manager instance

    @brief Checks if device is provisioned

    @brief Reset Wi-Fi provisioning config

    @brief Reset internal state machine and clear provisioned credentials.

    @brief Set application version and capabilities in the JSON data returned by proto-ver endpoint

    @brief Start provisioning service

    @brief Stop provisioning service

    @brief Wait for provisioning service to finish

    @brief Set manufacturer specific data in scan response

    @brief Set the 128 bit GATT service UUID used for provisioning

    @brief Provide HTTPD Server handle externally.

    @brief Reallocate a chunk of memory for WiFi driver

    @brief Erase part of the WL storage

    @brief Mount WL for defined partition

    @brief Read data from the WL storage

    @brief Get sector size of the WL instance

    @brief Get size of the WL storage

    @brief Unmount WL for defined partition

    @brief Write data to the WL storage

    @brief Checks if a given piece of memory can be used to store a task’s TCB

    @brief Get the tick rate per second

    @brief Checks if the current core is in an ISR context

    @brief Check if in ISR context from High priority ISRs

    @brief Checks if a given piece of memory can be used to store a task’s stack

    Adds a queue or semaphore to a queue set that was previously created by a call to xQueueCreateSet().

    @cond !DOC_EXCLUDE_HEADER_SECTION

    For internal use only. Use xSemaphoreCreateMutex(), xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling these functions directly.

    Queue sets provide a mechanism to allow a task to block (pend) on a read operation from multiple queues or semaphores simultaneously.

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueGenericSend( QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait BaseType_t xCopyPosition ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION */ @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t *pxHigherPriorityTaskWoken, BaseType_t xCopyPosition ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue, void *pvBuffer, ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueReceive( QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken ); @endcode @endcond

    Removes a queue or semaphore from a queue set. A queue or semaphore can only be removed from a set if the queue or semaphore is empty.

    xQueueSelectFromSet() selects from the members of a queue set a queue or semaphore that either contains data (in the case of a queue) or is available to take (in the case of a semaphore). xQueueSelectFromSet() effectively allows a task to block (pend) on a read operation on all the queues and semaphores in a queue set simultaneously.

    A version of xQueueSelectFromSet() that can be used from an ISR.

    For internal use only. Use xSemaphoreTakeMutexRecursive() or xSemaphoreGiveMutexRecursive() instead of calling these functions directly.

    @brief Add the ring buffer’s read semaphore to a queue set.

    @brief Check if the selected queue set member is the ring buffer’s read semaphore

    @brief Create a ring buffer

    @brief Create a ring buffer of type RINGBUF_TYPE_NOSPLIT for a fixed item_size

    @brief Get current free size available for an item/data in the buffer

    @brief Get maximum size of an item that can be placed in the ring buffer

    @brief Debugging function to print the internal pointers in the ring buffer

    @brief Retrieve an item from the ring buffer

    @brief Retrieve an item from the ring buffer in an ISR

    @brief Retrieve a split item from an allow-split ring buffer

    @brief Retrieve a split item from an allow-split ring buffer in an ISR

    @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve

    @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve. Call this from an ISR.

    @brief Remove the ring buffer’s read semaphore from a queue set.

    @brief Insert an item into the ring buffer

    @brief Acquire memory from the ring buffer to be written to by an external source and to be sent later.

    @brief Actually send an item into the ring buffer allocated before by xRingbufferSendAcquire.

    @brief Insert an item into the ring buffer in an ISR

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskAbortDelay( TaskHandle_t xTask ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction ); BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyStateClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToCLear );

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyWaitIndexed( UBaseType_t uxIndexToWaitOn, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );

    @cond !DOC_EXCLUDE_HEADER_SECTION

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TaskHandle_t xTaskGetHandle( const char *pcNameToQuery ); @endcode @endcond

    xTaskGetIdleTaskHandle() is only available if INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h.

    Get the handle of idle task for the given CPU.

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TickType_t xTaskGetTickCount( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TickType_t xTaskGetTickCountFromISR( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskResumeAll( void ); @endcode @endcond

    @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void xTaskResumeFromISR( TaskHandle_t xTaskToResume ); @endcode @endcond

    Type Definitions

    @addtogroup ets_timer_apis @{

    @addtogroup ets_apis @{

    Enum for the HTTP status codes.

    Defines the memory ranges allocated to the task when an MPU is used.

    Type by which queue sets are referenced. For example, a call to xQueueCreateSet() returns an xQueueSet variable that can then be used as a parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc.

    Queue sets can contain both queues and semaphores, so the QueueSetMemberHandle_t is defined as a type to be used where a parameter or return value can be either an QueueHandle_t or an SemaphoreHandle_t.

    Type by which ring buffers are referenced. For example, a call to xRingbufferCreate() returns a RingbufHandle_t variable that can then be used as a parameter to xRingbufferSend(), xRingbufferReceive(), etc.

    Defines the prototype to which the application task hook function must conform.

    @cond !DOC_EXCLUDE_HEADER_SECTION */ Used internally only.

    Prototype of local storage pointer deletion callback.

    adc1_channel_t will be deprecated functions, combine into adc_channel_t

    adc2_channel_t will be deprecated functions, combine into adc_channel_t

    @brief ADC arbiter work mode option.

    @brief ADC attenuation parameter. Different parameters determine the range of the ADC. See adc1_config_channel_atten.

    @brief ADC resolution setting option. @note Only used in single read mode

    @brief ADC channels handle. See adc1_channel_t, adc2_channel_t.

    @brief ADC digital controller (DMA mode) work mode.

    @brief ADC digital controller (DMA mode) filter index options.

    @brief ADC digital controller (DMA mode) filter type options. Expression: filter_data = (k-1)/k * last_data + new_data / k.

    @brief ADC DMA driver configuration

    @brief ADC digital controller (DMA mode) monitor index options.

    @brief Set monitor mode of adc digital controller. MONITOR_HIGH:If ADC_OUT > threshold, Generates monitor interrupt. MONITOR_LOW: If ADC_OUT < threshold, Generates monitor interrupt.

    @brief ADC digital controller (DMA mode) output data format option.

    @brief ADC digital controller encode option.

    @brief ADC unit enumeration.

    Restart output.

    Possible return values for eTaskConfirmSleepModeStatus().

    Task states returned by eTaskGetState.

    @brief RMII Clock GPIO number Options

    @brief RMII Clock Mode Options

    Definitions for error constants.

    @brief Type of calibration value used in characterization

    @brief The AES callback function when do WPS connect.

    @brief The AES callback function when do WPS connect.

    @brief Deinitialize AES decryption

    @brief Initialize AES for decryption

    @brief Decrypt one AES block

    @brief Deinitialize AES encryption

    @brief Initialize AES for encryption

    @brief Encrypt one AES block

    @brief One-Key GMAC hash with AES for MIC computation

    @brief The AES callback function when do STA connect.

    @brief The AES callback function when do STA connect.

    @brief callback called when a allocation operation fails, if registered @param size in bytes of failed allocation @param caps capabillites requested of failed allocation @param function_name function which generated the failure

    @brief Decrypt data using CCMP (Counter Mode CBC-MAC Protocol OR Counter Mode Cipher Block Chaining Message Authentication Code Protocol) which is used in IEEE 802.11i RSN standard. @tk: 128-bit Temporal Key for obtained during 4-way handshake @hdr: Pointer to IEEE802.11 frame headeri needed for AAD @data: Pointer to encrypted data buffer @data_len: Encrypted data length in bytes @decrypted_len: Length of decrypted data @espnow_pkt: Indicates if it’s an ESPNOW packet Returns: Pointer to decrypted data on success, NULL on failure

    @brief Encrypt data using CCMP (Counter Mode CBC-MAC Protocol OR Counter Mode Cipher Block Chaining Message Authentication Code Protocol) which is used in IEEE 802.11i RSN standard. @tk: 128-bit Temporal Key for obtained during 4-way handshake @frame: Pointer to IEEE802.11 frame including header @len: Length of the frame including header @hdrlen: Length of the header @pn: Packet Number counter @keyid: Key ID to be mentioned in CCMP Vector @encrypted_len: Length of the encrypted frame including header

    @brief ESP chip ID

    @brief Chip models

    Type of hold a GPIO in low state

    @brief Console command main function @param argc number of arguments @param argv array with argc entries, each pointing to a zero-terminated string argument @return console command return code, 0 indicates “success”

    @brief Console REPL base structure

    @brief Function type for stub to run on wake from sleep.

    @brief Type of eFuse blocks ESP32C3

    @brief Type of coding scheme

    @brief Type of key purpose

    @brief Type definition for ROM log scheme

    @brief Handle of Ethernet driver

    @brief Command list for ioctl API

    @brief Ethernet MAC

    @brief Ethernet mediator

    @brief Handle of netif glue - an intermediate layer between netif and Ethernet driver

    @brief Ethernet PHY

    @brief Ethernet driver state

    @brief Mode used for reading from SPI flash

    @brief SPI flash clock speed values, always refer to them by the enum rather than the actual value (more speed may be appended into the list).

    @brief HMAC-MD5 over data buffer (RFC 2104)’

    @brief HMAC-MD5 over data vector (RFC 2104)

    @brief HMAC-SHA1 over data buffer (RFC 2104)

    @brief HMAC-SHA1 over data vector (RFC 2104)

    @brief The SHA256 callback function when do WPS connect.

    @brief HTTP Authentication type

    @brief HTTP Client events id

    @brief HTTP Client events data

    @brief HTTP method

    @brief HTTP Client transport

    @brief Supported SPI flash sizes

    @brief SPI flash clock frequency

    @brief SPI flash mode, used in esp_image_header_t

    @brief Line ending settings

    @brief Log level

    @brief MD5 hash for data vector

    @brief Mesh topology

    MQTT connection error codes propagated via ERROR event

    @brief MQTT error code structure to be passed as a contextual information into ERROR event

    MQTT connection error codes propagated via ERROR event

    @brief MQTT event types.

    MQTT protocol version used for connection

    @brief Generic esp_netif configuration

    @brief Supported options for DHCP client or DHCP server

    @brief Mode for DHCP client or DHCP server option functions

    @brief Status of DHCP client or DHCP server

    @brief Type of DNS server

    @brief Specific IO driver configuration

    @brief IO driver handle type

    @brief Specific L3 network stack configuration

    @brief ESP-NETIF Receive function type

    @brief ESPNOW peer information parameters.

    @brief Number of ESPNOW peers which exist currently.

    @brief Callback function of receiving ESPNOW data @param mac_addr peer MAC address @param data received data @param data_len length of received data

    @brief Callback function of sending ESPNOW data @param mac_addr peer MAC address @param status status of sending ESPNOW data (succeed or fail)

    @brief Status of sending ESPNOW data .

    @brief One-Key CBC MAC (OMAC1) hash with AES-128 for MIC computation

    @brief Opaque handle for an application OTA update

    OTA_DATA states for checking operability of the app.

    @brief Opaque partition iterator type

    @brief Partition subtype

    @brief Partition type

    @brief SHA1-based key derivation function (PBKDF2) for IEEE 802.11i

    @brief Type of “ping” session handle

    @brief Profile of ping session

    @brief Opaque handle to the power management lock

    @brief Power management constraints

    @brief XOR RC4 stream to given data with skip-stream-start

    @brief Reset reasons

    @brief SHA1-based Pseudo-Random Function (PRF) (IEEE 802.11i, 8.5.1.1)

    @brief SHA-1 hash for data vector

    @brief The AES callback function when do STA connect.

    @brief Logic function used for EXT1 wakeup mode.

    @brief Power domains which can be powered down in sleep mode

    @brief Power down options

    @brief Sleep wakeup cause

    @brief Sleep wakeup cause

    @brief Timer callback function type @param arg pointer to opaque user-specific data

    @brief Method for dispatching timer callback

    @brief Opaque type representing a single esp_timer

    @brief ESP-TLS configuration parameters

    @brief ESP-TLS Connection State

    @brief ESP-TLS Connection State

    Definition of different types/sources of error codes reported from different components

    @brief Error structure containing relevant errors in case tls error occurred

    @brief ESP-TLS Connection Handle

    @brief Function signature for received Vendor-Specific Information Element callback. @param ctx Context argument, as passed to esp_wifi_set_vendor_ie_cb() when registering callback. @param type Information element type, based on frame type received. @param sa Source 802.11 address. @param vnd_ie Pointer to the vendor specific element data received. @param rssi Received signal strength indication.

    @brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount functions

    @brief Websocket Client events id

    @brief Websocket Client transport

    Handle of an ESSL device

    @brief Ethernet Checksum

    @brief Ethernet interface

    @brief Ethernet duplex mode

    @brief Ethernet event declarations

    @brief Ethernet link status

    @brief Ethernet speed

    @addtogroup ets_intr_apis @{

    @addtogroup ets_apis @{

    @endcond

    @brief Function prototype for closing a session.

    @brief HTTP Server Configuration Structure

    @brief Error codes sent as HTTP response in case of errors encountered during processing of an HTTP request

    @brief Function prototype for HTTP error handling.

    @brief Prototype for freeing context data (if any) @param[in] ctx object to free

    @brief HTTP Server Instance Handle

    @brief Function prototype for opening a session.

    @brief Prototype for HTTPDs low-level “get pending bytes” function

    @brief Prototype for HTTPDs low-level recv function

    @brief HTTP Request Data Structure

    @brief Prototype for HTTPDs low-level send function

    @brief Function prototype for URI matching.

    @brief Structure for URI handler

    @brief Prototype of the HTTPD work function Please refer to httpd_queue_work() for more details. @param[in] arg The arguments for this work function

    @brief I2C port number, can be I2C_NUM_0 ~ (I2C_NUM_MAX-1).

    @brief I2C clock source, sorting from smallest to largest, place them in order. This can be expanded in the future use.

    @brief I2S bit width per chan.

    @brief I2S bit width per sample.

    @brief I2S channel format type

    @brief I2S channel.

    @brief I2S source clock

    @brief I2S communication standard format

    @brief I2S driver configuration parameters

    @brief I2S event queue types

    @brief The multiple of mclk to sample rate

    @brief I2S Mode

    @brief A/U-law decompress or compress configuration.

    @brief I2S port number, the max port number is (I2S_NUM_MAX -1).

    Handle to an interrupt handler

    Function prototype for interrupt handler function

    This is the aligned version of ip4_addr_t, used as local variable, on the stack, etc.

    This is the aligned version of ip6_addr_t, used as local variable, on the stack, etc.

    @ingroup ipaddr A union struct for both IP version’s addresses. ATTENTION: watch out for its size when adding IPv6 address scope!

    IP event declarations

    @brief LEDC callback event type

    @brief Type of LEDC event callback @param param LEDC callback parameter @param user_arg User registered data

    @ingroup iana Hardware types

    @ingroup iana Port numbers https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt

    @ingroup ipaddr IP address types for use in ip_addr_t.type member. @see tcp_new_ip_type(), udp_new_ip_type(), raw_new_ip_type().

    Symbolic constants for the ‘type’ parameters in some of the macros. These exist for efficiency only, allowing the macros to avoid certain tests when the address is known not to be of a certain type. Dead code elimination will do the rest. IP6_MULTICAST is supported but currently not optimized. @see ip6_addr_has_scope, ip6_addr_assign_zone, ip6_addr_lacks_zone.

    \brief AES context structure

    \brief The AES XTS context-type definition.

    \brief Supported cipher types.

    Supported cipher modes.

    Supported cipher padding types.

    \brief Supported {cipher type, cipher mode} pairs.

    Defines the source of the imported EC key.

    \brief The ECP key-pair structure.

    Domain-parameter identifiers: curve, subgroup, and generator.

    \brief Entropy poll callback pointer

    \brief Supported message digests.

    \brief Flags for mbedtls_mpi_gen_prime()

    Type of operation.

    \brief Types for interfacing with the debug module

    \brief Types for RSA-alt abstraction

    \brief Public key types

    \brief Callback type: verify a cookie

    \brief Callback type: generate a cookie

    \brief Callback type: Export key block, master secret, handshake randbytes and the tls_prf function used to derive keys.

    \brief Callback type: Export key block and master secret

    \brief Callback type: get status of timers/delays

    \brief Callback type: receive data from the network.

    \brief Callback type: receive data from the network, with timeout

    \brief Callback type: send data on the network.

    \brief Callback type: set a pair of timers/delays to watch

    \brief Callback type: parse and load session ticket

    \brief Callback type: generate and write session ticket

    Container for ASN1 bit strings.

    Type-length-value structure that allows for ASN1 using DER.

    \brief The type of trusted certificate callbacks.

    \brief The type of certificate extension callbacks.

    Container for a sequence or list of ‘named’ ASN.1 data items

    Container for a sequence of ASN.1 items

    @brief mDNS query linked list IP item

    @brief mDNS enum to specify the ip_protocol type

    @brief mDNS query result structure

    @brief Asynchronous query handle

    Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end

    @brief Mesh disconnect reason code

    Argument structure for WIFI_EVENT_AP_STACONNECTED event

    Argument structure for WIFI_EVENT_AP_STADISCONNECTED event

    Argument structure for WIFI_EVENT_STA_DISCONNECTED event

    @brief Mesh address

    Argument structure for WIFI_EVENT_STA_CONNECTED event

    @brief The reachability of the root to a DS (distribute system)

    @brief Protocol of transmitted application data

    @brief For reliable transmission, mesh stack provides three type of services

    @brief Device type

    @brief Vote reason

    @brief Opaque handle to a registered heap

    @ingroup netif Function used for extended netif status callbacks Note: When parsing reason argument, keep in mind that more reasons may be added in the future! @param netif netif that is affected by change @param reason change reason @param args depends on reason, see reason description

    Function prototype for netif igmp_mac_filter functions

    Function prototype for netif init functions. Set up flags and output/linkoutput callback functions in this function.

    Function prototype for netif->input functions. This function is saved as ‘input’ callback function in the netif struct. Call it when a packet has been received.

    Function prototype for netif->linkoutput functions. Only used for ethernet netifs. This function is called by ARP when a packet shall be sent.

    MAC Filter Actions, these are passed to a netif’s igmp_mac_filter or mld_mac_filter callback function.

    Function prototype for netif mld_mac_filter functions

    @ingroup netif Extended netif status callback (NSC) reasons flags. May be extended in the future!

    Function prototype for netif->output functions. Called by lwIP when a packet shall be sent. For ethernet netif, set this to ‘etharp_output’ and set ‘linkoutput’.

    Function prototype for netif->output_ip6 functions. Called by lwIP when a packet shall be sent. For ethernet netif, set this to ‘ethip6_output’ and set ‘linkoutput’.

    Function prototype for netif status- or link-callback functions.

    Opaque pointer type representing non-volatile storage handle

    Opaque pointer type representing iterator to nvs entries

    @brief Mode of opening the non-volatile storage

    @brief Mode of opening the non-volatile storage

    @brief Types of variables

    Prototype for a function to free a custom pbuf

    @ingroup pbuf Enumeration of pbuf layers

    @ingroup pbuf Enumeration of pbuf types

    @brief Config parameters for protocomm BLE service

    @brief This structure maps handler required by protocomm layer to UUIDs which are used to uniquely identify BLE characteristics from a smartphone or a similar client device.

    @brief Function prototype for protocomm endpoint handler

    @brief Proof Of Possession for authenticating a secure session

    @brief Protocomm security object structure.

    @brief This structure corresponds to a unique instance of protocomm returned when the API protocomm_new() is called. The remaining Protocomm APIs require this object as the first parameter.

    @brief ESP-TLS preshared key and hint structure

    @brief RMT Carrier Level

    @brief RMT Channel Status

    @brief RMT channel ID

    @brief RMT Data Mode

    @brief RMT Idle Level

    @brief RMT interrupt handle

    @brief RMT Internal Memory Owner

    @brief RMT Channel Working Mode (TX or RX)

    @brief Clock Source of RMT Channel

    @brief Type of RMT Tx End callback function

    @brief Clock source to be calibrated using rtc_clk_cal function

    @brief CPU clock configuration structure

    @brief CPU clock source

    @brief CPU frequency values

    @brief RTC FAST_CLK frequency values

    RTCIO output/input mode type.

    @brief RTC SLOW_CLK frequency values

    @brief Possible main XTAL frequency values.

    @brief User callback function to convert uint8_t type data to rmt format(rmt_item32_t).

    SD/MMC command response buffer

    Handle representing an SD SPI device

    Shutdown handler type

    @brief Sigma-delta channel list

    @brief SIGMADELTA port number, the max port number is (SIGMADELTA_NUM_MAX -1).

    Smartconfig event declarations

    SNTP time update mode

    SNTP sync status

    @brief SNTP callback function for notifying about time sync event

    @brief Naming conventions: RESET_REASON_{reset level}_{reset reason} @note refer to TRM: chapter

    @brief SPI DMA channels

    @brief SPI DMA channels

    SPI Events

    @brief SPI flash critical section exit function.

    @brief SPI flash critical section enter function.

    Host driver configuration and context structure.

    @brief Function to protect SPI flash critical regions corruption.

    @brief Opaque handle for memory region obtained from spi_flash_mmap.

    @brief Enumeration which specifies memory space requested in an mmap call

    @brief SPI flash operation lock function.

    @brief SPI flash operation unlock function.

    @brief Function to yield to the OS during erase operation.

    @brief Enum with the three SPI peripherals that are software-accessible in it

    Argument structure for WIFI_EVENT_AP_PROBEREQRECVED event

    Argument structure for WIFI_EVENT_AP_STACONNECTED event

    Argument structure for WIFI_EVENT_AP_STADISCONNECTED event

    Event structure for IP_EVENT_AP_STAIPASSIGNED event

    @brief Application specified event callback function

    Argument structure for WIFI_EVENT_FTM_REPORT event

    Event structure for IP_EVENT_GOT_IP6 event

    Event handler function type

    System event types enumeration

    Argument structure for WIFI_EVENT_STA_AUTHMODE_CHANGE event

    Argument structure for WIFI_EVENT_STA_CONNECTED event

    Argument structure for WIFI_EVENT_STA_DISCONNECTED event

    Argument structure of event

    Argument structure for WIFI_EVENT_SCAN_DONE event

    Argument structure for WIFI_EVENT_STA_WPS_ER_PIN event

    Argument structure for WIFI_EVENT_STA_WPS_ER_SUCCESS event

    Argument structure for WIFI_EVENT_STA_WPS_ER_FAILED event

    @brief Supported options for DHCP client or DHCP server

    @brief Mode for DHCP client or DHCP server option functions

    @brief Status of DHCP client or DHCP server

    @brief DNS server info

    @brief Type of DNS server

    @brief station list info element

    @brief station list structure

    @brief Decides whether to enable alarm mode

    @brief Select if Alarm needs to be loaded by software or automatically reload by hardware.

    @brief Decides the direction of counter

    @brief Selects a Timer-Group out of 2 available groups

    @brief Select a hardware timer from timer groups

    @brief Select interrupt type if running in alarm mode.

    @brief Interrupt types of the timer.

    @brief Interrupt handle, used in order to free the isr after use. Aliases to an int handle for now.

    @brief Interrupt handle callback function. User need to retrun a bool value in callback.

    @brief Select timer source clock.

    @brief Decides whether timer is on or paused

    @brief Keep alive parameters structure

    Touch sensor charge/discharge speed

    Touch sensor filter configuration

    @brief Touch channel IIR filter coefficient configuration. @note On ESP32S2. There is an error in the IIR calculation. The magnitude of the error is twice the filter coefficient. So please select a smaller filter coefficient on the basis of meeting the filtering requirements. Recommended filter coefficient selection IIR_16.

    Touch sensor FSM mode

    Touch sensor high reference voltage

    Touch sensor low reference voltage

    Touch channel idle state configuration

    Touch sensor denoise configuration

    Touch sensor shield channel drive capability level

    Touch pad channel

    Touch sensor waterproof configuration

    @brief Level of filter applied on the original data against large noise interference. @note On ESP32S2. There is an error in the IIR calculation. The magnitude of the error is twice the filter coefficient. So please select a smaller filter coefficient on the basis of meeting the filtering requirements. Recommended filter coefficient selection IIR_2.

    Touch sensor initial charge level

    Touch sensor high reference voltage attenuation

    @brief TWAI Controller operating modes

    @brief TWAI driver states

    @brief UART event types used in the ring buffer

    @brief UART hardware flow control modes

    @brief UART mode selection

    @brief UART parity constants

    @brief UART port number, can be UART_NUM_0 ~ (UART_NUM_MAX -1).

    @brief UART source clock

    @brief UART signal bit map

    @brief UART stop bits number

    @brief UART word length constants

    @brief The Rx callback function of Action Tx operations

    @brief WiFi antenna mode

    @brief WiFi antenna

    @brief The RX callback function of Channel State Information(CSI) data.

    Argument structure for WIFI_EVENT_STA_WPS_ER_FAILED event

    WiFi event declarations

    @brief FTM operation status types

    @brief WiFi ioctl command type

    @brief WiFi log level

    @brief WiFi log module definition

    @brief Update WiFi MAC time

    @brief Forward declaration of WiFi interface handle

    @brief The net stack buffer free callback function

    @brief The net stack buffer reference counter callback function

    @brief WiFi PHY rate encodings

    @brief The RX callback function in the promiscuous mode. Each time a packet is received, the callback function will be called.

    @brief Promiscuous frame type

    @brief Events generated by manager

    @brief Internal handlers for receiving and responding to protocomm requests from master

    @brief Type of context data passed to each get/set/apply handler function set in wifi_prov_config_handlers structure.

    @brief Structure for specifying the provisioning scheme to be followed by the manager

    @brief Security modes supported by the Provisioning Manager.

    @brief Security modes supported by the Provisioning Manager.

    @brief WiFi STA connection fail reason

    @brief WiFi STA status for conveying back to the provisioning master

    @brief The WiFi RX callback function

    @breif TxDone callback function type. Should be registered using esp_wifi_set_tx_done_cb()

    @brief Vendor Information Element index

    @brief Vendor Information Element type

    @brief wear levelling handle

    Unions

    @brief Ethernet MAC Clock Configuration

    @brief Mesh address

    @brief Mesh event information

    @brief Vote address configuration

    @ingroup netif Argument supplied to netif_ext_callback_fn.

    Protocomm HTTPD Configuration Data

    Union of all possible system_event argument structures

    Type of int_clr_timers register Interrupt clear bits

    Group: Interrupt registers */ Interrupt enable bits

    Type of int_raw_timers register Raw interrupt status

    Type of int_st_timers register Masked interrupt status

    Group: Version register */ Timer version control register

    Group: Clock configuration registers */ Timer group clock gate register

    Type of rtccalicfg1 register RTC calibration configure1 register

    Type of rtccalicfg2 register Timer group calibration register

    Group: RTC CALI Control and configuration registers */ RTC calibration configure register

    Type of txalarmhi register Timer $x alarm value, high bits

    Type of txalarmlo register Timer $x alarm value, low 32 bits

    Group: T0 Control and configuration registers */ Timer x configuration register

    Type of txhi register Timer $x current value, high 22 bits

    Type of txlo register Timer x current value, low 32 bits

    Type of txload register Write to reload timer from TIMG_T$x_(LOADLOLOADHI)_REG

    Type of txloadhi register Timer $x reload value, high 22 bits

    Type of txloadlo register Timer $x reload value, low 32 bits

    Type of txupdate register Write to copy current timer value to TIMGn_T$x_(LO/HI)_REG

    Group: WDT Control and configuration registers */ Watchdog timer configuration register

    Type of wdtconfig1 register Watchdog timer prescaler register

    Type of wdtconfig2 register Watchdog timer stage 0 timeout value

    Type of wdtconfig3 register Watchdog timer stage 1 timeout value

    Type of wdtconfig4 register Watchdog timer stage 2 timeout value

    Type of wdtconfig5 register Watchdog timer stage 3 timeout value

    Type of wdtfeed register Write to feed the watchdog timer

    Type of wdtwprotect register Watchdog write protect register

    @brief Configuration data for ESP32 AP or STA.